之前一直用TextUtils.isEmpty()进行字符串的非null判断,所以一直搞不清楚在""时是否也能用TextUtils.isEmpty()进行判断。
其实通过查看源码就可以知道:
/** * Returns true if the string is null or 0-length. * @param str the string to be examined * @return true if str is null or zero length */ public static boolean isEmpty(CharSequence str) { if (str == null || str.length() == 0) return true; else return false; }
在字符串为null或者""的情况下,都是可以用TextUtils.isEmpty()来进行判断的,因为当""情况下,str.length()==0,所以同样也会返回true.但如果传入是空格,即" "的情况下,字符串的长度length()就不会为0,因此,此时返回的是false。为了判断EditText输入的是否为空字符串,可以先将字符串进行trim(),然后再用isEmpty(String str)进行判断,就能成功判断了。