String str1 ="";
String str2 =" ";
boolean result1, result2, result3;
if (TextUtils.isEmpty(str1)) {
return result1;
}
if (TextUtils.isEmpty(str2)) {
return result2;
}
if (TextUtils.isEmpty(str2.trim())) {
return result3;
}
结果:
true
false(所以虽然字符串是空格,但是并不为空)
true
无论是输入的字符串还是字符串本身,都可以用TextUtils.isEmpty()进行字符串的非null判断,根据上面的结果,查看源码:
public static boolean isEmpty(CharSequence str) {
if (str == null || str.length() == 0) //所以对于空字符串以及长度为0的字符串才会认为是空,对于长度不为0的空格,并不认为是空字符串
return true;
else
return false;
}
在字符串为null或者""的情况下,都是可以用TextUtils.isEmpty()来进行判断的,
当字符串为"",str.length()==0,返回true;
当传入是空格,即" ",字符串的长度length()就不为0,返回false。
为了判断EditText输入的是否为空字符串,可以先对字符串str.trim(),再用isEmpty(str)进行判断,就可成功判断了
方法trim(),作用是去掉字符序列左边和右边的空格
网友评论