检查Null Wrappers是否符合原始值

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 .inull