JAVA NPE

版权声明:本文为博主原创文章,未经博主允许不得转载。 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

有值返回,无值返回默认值

猜你喜欢

转载自blog.csdn.net/qyj19920704/article/details/83833571