以前没有注意到这个问题,潜意识里一直知道可是没有明确拿出来对比过,Java中一个String对象为空和它是一个空串是不一样的。
public static void main(String[] args) {
// TODO Auto-generated method stub
String a=null;
String b="";
//System.out.println(a.length());
System.out.println(b.length());
}
在上述代码中,a、b都是String对象,a为空而b为一个空串。则“System.out.println(a.length());” 会报空指向错误:
在很多应用中需要先判断一个String对象是否为空,再判断是否为空串,判断空串用String.isEmpty()函数判断,如下面代码所示:
if(url != null && !url.isEmpty()){
BALABALA;
}