任何含有null值的包装类在Java拆箱生成基本数据类型时候都会抛出一个空指针异常。一些程序员犯这样的错误,他们认为自动装箱会将null转换成各自基本类型的默认值,例如对于int转换成0,布尔类型转换成false,但是那是不正确的,如下面所示:
String isWearMask = (tpm.getWearMask() == 1 ? "是" : "否");
//此时tpm不为null,如果tpm里面的值wearMask为null,会报空指针异常;原因:程序会把 null值拆箱成基本数据类型与 1 比较,这时候会报错
本文探讨了Java中包装类含有null值进行拆箱时产生的空指针异常问题,并通过实例说明了这一常见误区。

4246

被折叠的 条评论
为什么被折叠?



