Java空指针异常

相信大家多觉得java的空指针非常简单,很容易排查,但是却又是非常容易忽略的一个错误。

今天就遇到了一个比较麻烦的情况,因为使用的是别人打好的JAR,也没有什么语法错误,但就是运行的时候出错:

java.lang.NullPointerException

但是一般空指针异常也不应该出现在传递参数的方法这里啊,最后认真看了一下参数才发现,原来参数是int类型,但是我传入的是Integer类型,当为null时,自动拆箱时就会抛出空指针异常。

例如:

public static void test(int num) {
    System.out.println("============>" + num);
}
 
public static void main(String[] args) {
    Integer num = null;
    test(num);
}