项目中服务器返回的字符串有可能为NULL或者没有内容,习惯性直接用String.isEmpty()
运行中发现字符串为NULL的时候就会出错,之前有查百度看到过正确的用法,但一直没在意,
就直接加多一个判断字符串是否为NULL,项目改的地方比较多,后来发现有些地方忘记加了判断
成为了隐形的Bug,最后还是看了下源码,发现了问题
String string = null; string.isEmpty(); //这一行就会出现空指针错误 //看下源码 public boolean isEmpty() { return count == 0; } //并没有判断是否为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(@Nullable CharSequence str) { if (str == null || str.length() == 0) return true; else return false; }
看源码主要是判断字符串长度,所以空格是返回false的
浙公网安备 33010602011771号