
代碼分析.png

執(zhí)行結(jié)果.png
我們發(fā)現(xiàn)""、null、及new String()還是不同的,他們之間的對比是false,另外,StringUtils.isEmpty()和String.isEmpty()結(jié)果也不同,我們看一下源碼:
StringUtils.isEmpty()方法源碼:

StringUtils.png
String.isEmpty()表示根本不存在,沒有分配內(nèi)存
“”表示存在(分配內(nèi)存)但內(nèi)容為空,一般是指字符串、數(shù)字變量的

String.png
從源碼我們可以看到String.isEmpty()只會判斷長度,并不會判斷null,導(dǎo)致null值空指針異常