当前位置: 代码迷 >> 综合 >> Android之TextUtils.isEmpty()
  详细解决方案

Android之TextUtils.isEmpty()

热度:77   发布时间:2024-01-12 17:15:42.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Android开发中,使用TextUtils.isEmpty()来判断字符串是否为null或者空字符串"".但判断不了为"null"串(null+“”)的情况。

 

TextUtils.isEmpty()函数定义:

    public static boolean isEmpty(@Nullable CharSequence str) {return str == null || str.length() == 0;}
        String str1 = null;//null串String str2 = str1+"";//字符串“null”String str3 = "";//长度为0的串Log.i("Result",str2);//结果为:“null”。这样我们再使用TextUtils.isEmpty()进行非空判断的时候,就会出错Log.i("Result", str3);//结果为:“”if(TextUtils.isEmpty(str1)){Log.i("Result","null串通过");//这个}else {Log.i("Result","null串不通过");}if(TextUtils.isEmpty(str2)){Log.i("Result","null串+\"\"通过");}else {Log.i("Result","null串+\"\"不通过");//这个}if(TextUtils.isEmpty(str3)){Log.i("Result","\"\"串通过");//这个}else {Log.i("Result","\"\"串不通过");}

better的判断方法应该是: 

//如果str是null、“null”、长度为0的串三者之一
if((TextUtils.isEmpty(str)) ||("null".equalsIgnoreCase(str)))//如果str不是null、“null”、长度为0的串三者之一
if(!(TextUtils.isEmpty(str)) &&!("null".equalsIgnoreCase(str)))

 

  相关解决方案