判断字符串为空在很多场合中用到,方法也很多,下面简单介绍下。
1.在没有其他工具类的情况下,先判断是不是null然后再判断长度。
public static void checkString(String str){
if(str==null || str.length()<=0){
System.out.println("string为空!");
}
if(str != null && str.length()!= 0){
System.out.println("String不为空!");
}
}
2.下面使用了commons-lang3.jar的jar包。
String str=" ";
boolean a1=StringUtils.isBlank(str);//true
boolean a2=StringUtils.isEmpty(str);//false
对这两个工具类的源码进行解析
public static boolean isBlank(CharSequence cs) {
int strLen;
//如果传进来的字符串是null或者长度为0,那么直接返回true
if (cs != null && (strLen = cs.length()) != 0) {
for(int i = 0; i < strLen; ++i) {
//对每个字符进行判断,有一个不为空那么返回false
if (!Character.isWhitespace(cs.charAt(i))) {
return false;
}
}
return true;
} else {
return true;
}
}
//如果是null或者长度为0返回true,否则返回false
public static boolean isEmpty(CharSequence cs) {
return cs == null || cs.length() == 0;
}
总结:实际上两个方法只是在字符串有长度的情况下,返回的结果不同。
呵呵。。。