Java中避免空指针的几个写法

作者: 一亩水塘 | 来源:发表于2016-06-27 12:28 被阅读596次

    避免空指针的几个写法

    equals

    Object的equals方法是方法是对称的,调用a.equals(b)和调用b.equals(a)是完全相同的,这也是为什么程序员对于对象a和b这么不上心。但是要注意a == null时会抛出空指针异常。

    例如:

    Object unknownObject = null;
    if(unknownObject.equals("knownObject")){
    
    }
    

    所以我宁愿把确定不为null的对象放在前面。

    valueOf()和toString()

    因为调用null对象的toString()会抛出空指针异常,如果我们能够使用valueOf()获得相同的值,那宁愿使用valueOf(),传递一个null给valueOf()将会返回“null”,尤其是在那些包装类,像Integer、Float、Double和BigDecimal。

    例如:

    BigDecimal bd;
    System.out.println(String.valueOf(bd)); //不会抛出空指针异常
    System.out.println(bd.toString()); //抛出 "Exception in thread    "main" 
    

    避免从方法中返回空指针,而是返回空collection或者空数组。

    尽可能返回一个空集合和空数组而不是返回null。

    相关文章

      网友评论

        本文标题:Java中避免空指针的几个写法

        本文链接:https://www.haomeiwen.com/subject/pqpzdttx.html