Muh*_*edy 2 java boxing expression wrapper
Integer i = null;
if (i == 3)
Run Code Online (Sandbox Code Playgroud)
为什么上面的第二行抛出一个NullPointerException
,恕我直言,这只有一个含义,即Wrapper Object i
将被取消装箱,产生异常,例如:
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(null);
int x = list.get(0);
Run Code Online (Sandbox Code Playgroud)
编辑:你能为我提供一些格式的文件吗?
Ale*_*exR 11
它会抛出NPE,因为编译器会为您执行以下"魔术":
Integer i = null;
if (i.intValue() == 3)
Run Code Online (Sandbox Code Playgroud)
显然是i.intValue()
在什么时候抛出NPE .i
null