熟手判断字符串非空一般都会做两次判断:
if(str!=null && str!=""){}
或者
if(str!=null && str.length!=0){}
或者
if(str!=null && str.equals("")){}
为什么要这么麻烦呢?
相信大家都遇到过空指针报错的情况
java.lang.NullPointerException异常
而如上语句就可以杜绝这个情况
因为当str为空时
机器在执行代码遵循自上而下,从左至右的顺序
当虚拟机执行到“str!=null”后判断引用是否指向任何对象,遇到“&&”操作符就会省去判断“str!=""”语句
这样就不会让机器指向一个空指针变量了
ps:"".equals(str)//返回false