代码可以正常编译,但是JVM抛出NullPointerException

时间:2018-07-20 12:31:38

标签: java nullpointerexception wrapper

class Boxing2 {

    static Integer x;

    public static void main(String[] args) {
        doStuff(x);
    }

    static void doStuff(int z) {
        int z2 = 5;
        System.out.println(z2 + z);
    }
}

此代码可以正常编译,但是JVM抛出NullPointerException

  

线程“ main”中的异常java.lang.NullPointerException在   Boxing2.main(Test.java:4)

我不知道原因。

1 个答案:

答案 0 :(得分:3)

x字段为null,因此null被传递给doStuff方法的x参数, 因此将null自动装箱为int类型会抛出NullPointerException


Integer默认为null,而int默认为0