根据原始值检查Null Wrappers [英] Checking Null Wrappers against primitive values

查看:173
本文介绍了根据原始值检查Null Wrappers的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Integer i = null;
if (i == 3)

为什么上面的第二行抛出一个 NullPointerException ,IMHO,这只有一个含义是Wrapper Object i 要取消装箱,这会产生例外: p>

Why the second line above throws a NullPointerException, IMHO, this has only one meaning which is Wrapper Object i is to be unboxed which yields the Exception such as:

ArrayList<Integer> list = new ArrayList<Integer>();
list.add(null);
int x = list.get(0);

编辑:你能给我一些格式文档吗?

Can you supply me with some format doc?

推荐答案

它会抛出NPE,因为编译器为您提供以下魔术:

It throws NPE because compiler does the following "magic" for you:

Integer i = null;
if (i.intValue() == 3)

显然 i.intValue() i null 时,会抛出NPE。

Obviously i.intValue() throws NPE when i is null.

这篇关于根据原始值检查Null Wrappers的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆