不知道大家判断一个字符串是否为空用的是不是TextUtils.isEmpty(String str);这个方法。过去我几乎每个判断都会使用。不过后来看了源码之后就再也不想用了,还不如自己写一个方法直接调用。
下面是这个方法的源码,大家看看 ,估计看一眼就知道为什么不想用了。
/**
* 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(@Nullable CharSequence str) {
if (str == null || str.length() == 0)
return true;
else
return false;
}
上面就是Android 判空的源码了,直接查看的。这个方法很好理解就是判断是不是null然后判断长度是不是0.通过这个来判断一个字符串是不是空。
那么问题来了如果一个字符串只包含一个空格,那么这个字符串是不是为空呢。这个方法的返回是非空的。
可是问题是我们很多时候需要如果一个字符串全是空格也应该返回空,做个简单的修改就ok了。
public static boolean isEmpty(@Nullable CharSequence str) {
if (str == null || str.length() == 0 ||str.toString().trim().length()==0) {
return true;
} else {
return false;
}
}这样就能达到效果了,自定义个工具类,可以方便使用了