首先澄清一个概念:
String str;
if(str == null || str.equals(" ")){
}
str == null 说明str还未指向一个特定的字符串对象,此时谈不上是否为空。str = “”;说明str是个空字符串,只不过长度为0;
字符串判断空的几种写法:
//①.最多人使用的一个方法, 直观, 方便, 但效率很低;
if (str == null || "".equals(str)) {
}
//②.比较字符串长度,效率高,是最好的一个方法;
if (str == null || str.length() <= 0) {
}
//③.JavaSE6.0 才开始提供的方法, 效率和方法二几乎相等,但出于兼容性考虑, 推荐使用方法二;
if (str == null || str.isEmpty()) {
}
//④.这是一种比较直观,简便的方法,而且效率也非常的高,与方法二、三的效率差不多;
if (str == null || str == "") {
}
相应的不为空的判断加上 “非”(!)的判断即可。