利用StringUtils可以避免空指针问题

本文介绍了如何通过使用commons-lang-2.5.jar包中的StringUtils工具类来避免空指针异常,提供了具体的代码示例,并对比了StringUtils与传统字符串操作方法的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇文章的来源于在项目中的空指针问题,利用StringUtils可以避免这个空指针问题。

有时候代码中是会出现如下情况if("".equals(str) && str == null) {}, 反正我以前判断字符串为空的时候经常这么干,但实际上这么写代码很啰嗦,

commons-lang-2.5.jar包中供了一个很方便的工具类StringUtils,而且还有效的避免空指针问题。

如果我们在进行编码的时候,声明了一个变量:

例如 String message=null;

然后在下面进行if(message.equeals("某")),如果message没有初始化,则会报空指针的错误,提示message不能为空。

但是我们在用stringutils时可以避免这个问题:

且看这个例子:

从上面我们可以看到,如果为空的时候也可以进行比较。会得出false的结果,所以我们用它可以避免空指针的问题。

延伸一下看下equals和Stringutils这个工具类的使用吧:

关于equals这个有一些坑,我们来看看: 

equals变量在前面或者在后面有什么区别吗?这是一个坑点

看代码吧:

a.equals("true");和"null".equals(a);有什么区别的?

答案:前者会抛空指针异常,后者不会;

剖析:如果a=null,String对象就会是一个空对象,空对象说明没有equals方法,所以就会报空指针异常

又如,后者a=null,"null".equals(a);结果永远都为false,原因直接看源码:

为了避免这个坑点,还是使用另外一种方式吧!

使用org.apache.commons.lang包下的StringUtils.equals(String str1, String str2)方法

关于Stringutils的使用我们参考这个博客吧,内容太多了,我们借鉴下吧!

http://blog.youkuaiyun.com/Mint6/article/details/77965110

这篇文章也写的不错,我们可以看看

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值