熟手判断字符串非空一般都会做两次判断:

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐