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

这篇文章的来源于在项目中的空指针问题,利用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.csdn.net/Mint6/article/details/77965110

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

原文地址:https://www.cnblogs.com/fengli9998/p/7808710.html