Java 在哪里可以使用拳击
Java 在哪里可以使用拳击,java,Java,我在书中看到了这个例子,作者试图讲述拳击的用法。我在理解最后几行时遇到了问题,即“代码在试图调用doStuff(x)时抛出异常,因为x没有引用Integer对象。”我不理解为什么x不是Integer包装类的对象。好像,我以前将其定义为静态整数x。是否该x变量不是整数包装类的引用。此外,为什么它会抛出“NullPointerException?”当您的代码运行并调用doStuff(x)时,x是null,因为您尚未初始化它。编译器将生成调用x.intValue()的字节码,以将int传递给您的方法。
我在书中看到了这个例子,作者试图讲述拳击的用法。我在理解最后几行时遇到了问题,即“代码在试图调用doStuff(x)时抛出异常,因为x没有引用Integer对象。”我不理解为什么x不是Integer包装类的对象。好像,我以前将其定义为静态整数x。是否该x变量不是整数包装类的引用。此外,为什么它会抛出“NullPointerException?”当您的代码运行并调用
doStuff(x)
时,x
是null
,因为您尚未初始化它。编译器将生成调用x.intValue()
的字节码,以将int
传递给您的方法。由于x
为null
,因此将得到一个NullPointerException
整数作为引用类型,类型为Integer
的变量可以包含null
或对整数
对象的引用。他们只是想说,如果x
为空,就不能将其转换为int
我不明白为什么x不是整数包装类的对象
因为x
从未初始化,所以它具有默认值:null
此外,它为什么抛出“NullPointerException?”
因为要将整数
转换为整数
:它调用。但是没有实例,所以这就像尝试这样做:
Integer x = null;
int someInt = x.intValue();
…这应该很明显
自动拆箱涉及的步骤,包括此NPE行为在Happy reading中指定 你的帽子真棒。哦,该死的,我也得到了。