![](https://img.haomeiwen.com/i6485688/6f20afe306a69494.png)
![](https://img.haomeiwen.com/i6485688/83791856a9d9fefc.png)
我们发现""、null、及new String()还是不同的,他们之间的对比是false,另外,StringUtils.isEmpty()和String.isEmpty()结果也不同,我们看一下源码:
StringUtils.isEmpty()方法源码:
![](https://img.haomeiwen.com/i6485688/3d5bfb840b482af4.png)
String.isEmpty()表示根本不存在,没有分配内存
“”表示存在(分配内存)但内容为空,一般是指字符串、数字变量的
![](https://img.haomeiwen.com/i6485688/679eb5fbce59f611.png)
从源码我们可以看到String.isEmpty()只会判断长度,并不会判断null,导致null值空指针异常
我们发现""、null、及new String()还是不同的,他们之间的对比是false,另外,StringUtils.isEmpty()和String.isEmpty()结果也不同,我们看一下源码:
StringUtils.isEmpty()方法源码:
String.isEmpty()表示根本不存在,没有分配内存
“”表示存在(分配内存)但内容为空,一般是指字符串、数字变量的
从源码我们可以看到String.isEmpty()只会判断长度,并不会判断null,导致null值空指针异常
本文标题:isEmpty()与equals()、==“”区别
本文链接:https://www.haomeiwen.com/subject/uygqiktx.html
网友评论