判断字符串是否为空,不报空指针异常

让人头大空指针异常(NPE)

反例:

    public void one(String parm) {
        String[] parmArr = parm.split("&");
        String no = parmArr[3];
    }

Q:如上两行代码,可能会出现多少个bug?

A:(自己想。)

正例:

public void two(String parm) {
        if (parm == null || "".equals(parm.trim())) {
            return;
        }
        String[] parmArr = parm.split("&");
        String no = parmArr.length > 3 ? parmArr[3] : null;
    }

 

正例升级版:借助 apache 工具类来避免 NPE,进而避免任务异常结束

import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;

public void three(String parm) {
        String[] parmArr = StringUtils.split(parm, "&");
        String no = ArrayUtils.getLength(parmArr) > 3 ? parmArr[3] : null;
    }

尽量使用工具去完成这种简单的事,如果没条件用 apache 工具类,那就自己写各种 if-else 判断吧,注意逻辑要严谨。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值