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(),作用是去掉字符序列左邊和右邊的空格