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

避免空指针的几个写法

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中避免空指针的几个写法)