String判断是否为空注意问题

String 类型有一个 isEmpty()方法 判断是否为空
新版

public boolean isEmpty() {
        throw new RuntimeException("Stub!");
    }

可以看到被封装了
我们可以看旧版

 public boolean isEmpty() {
        return count == 0;
    }

count就是String的大小。
由此我们可以得到如下信息:
String的isEmpty()方法没有判断是否为null操作,如果返回字符串是null,那么就有潜在风险,比如textview.setText();json处理等等,这是危险的。
另外,TextUtils.isEmpty()也是一个判断是否为空方法。
新版源码:

 public static boolean isEmpty(CharSequence str) {
        throw new RuntimeException("Stub!");
    }

可以看到也是被封装了
查看旧版:

     if (str == null || str.length() == 0)
            return true;
        else
            return false;
    }

我们可以得到如下信息,如果str为null或者str大小为0,返回true,这就告诉我们如果str为null可能str == “”,所以也是不能判断同时不为null并且不为“”,所以我们使用时还是采用

if(str!=null&&!"".equals(str)){
//do sth.
}else{
//无效数据
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值