代码之家  ›  专栏  ›  技术社区  ›  Poorna Senani Gamage

代码编译良好,但jvm抛出NullPointerException[重复]

  •  0
  • Poorna Senani Gamage  · 技术社区  · 6 年前

    这个问题已经有了答案:

    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中的异常 BooX2.MULL(Test.java:4)

    我不知道为什么会这样。

    1 回复  |  直到 6 年前
        1
  •  3
  •   Roshana Pitigala Laxmansinghsodhanohdiyala    6 年前

    x 字段是 null 如此 无效的 传递给 doStuff 方法的 X 参数, 因此自动氧化 无效的 int 类型throw NullPointerException .


    Integer 默认为 无效的 ,而 int 默认为 0 .