版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qyj19920704/article/details/83833571
JAVA NPE 空异常
避免NPE的方法
1.equals方法
public void equals() {
//代表未知的对象,可能会是NULL也可能不是NULL
Object unKnowObject = null;
//这样某些情况下可能会抛出NULLPointException
System.out.println(unKnowObject.equals("str"));
//改成如下
//str一定不会空,所以不会抛出异常
System.out.println("str".equals(unKnowObject));
}
2.valueOf与toString
public void toMyString() {
BigDecimal bigDecimal = null;
//避免如下写法,当对象为空时候会抛出异常
System.out.println(bigDecimal.toString());
//使用String静态方法
System.out.println(String.valueOf(bigDecimal));
}
3.元素的list避免null
public void retrieveDataFromDB() {
//如果没有检索到数据,返回0元素的list,map,set而不是null
List result = Collections.EMPTY_LIST;
}
4.java8的Optional来避免NPE
有值返回,无值返回默认值