• 利用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

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

  • 相关阅读:
    MVC中添加执行统计功能
    SVN 全局忽略列表
    WebApi当中微软又犯了一次2
    SQL性能更总
    【懒人专用】快速构建Web请求
    js中模拟多个字母的split
    分页起始位置的懒汉判断方法
    文档摆放
    转: 多线程环境下调用 HttpWebRequest 并发连接限制
    bash命令根据历史记录补全
  • 原文地址:https://www.cnblogs.com/fengli9998/p/7808710.html
Copyright © 2020-2023  润新知