首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在JAVA中布尔对象和布尔变量问题

在JAVA中布尔对象和布尔变量问题
EN

Stack Overflow用户
提问于 2018-03-08 04:59:50
回答 2查看 0关注 0票数 0

我声明了一个布尔变量。例如Boolean dataVal=null; 现在,如果我执行以下代码段:

代码语言:javascript
复制
if(dataVal)
    System.out.println("\n\NULL value in dataVal: "+dataVal);
else
    System.out.println("\n\nvalue in dataVal: "+dataVal);

我得到NULLPointerException。那么,我知道它很明显,但我需要知道背后的原因。

EN

回答 2

Stack Overflow用户

发布于 2018-03-08 13:27:29

当您评估Boolean对象Java 的布尔值时,取消该值(自动装箱功能,自1.5开始)。所以真正的代码是:dataVal.booleanValue()。然后它抛出NullPointerException。对于任何装箱值,拆开空对象将引发此异常。

在1.5之前,你必须手动取消这个值:if (dataVal.booleanValue())所以它更明显(更详细:)

票数 0
EN

Stack Overflow用户

发布于 2018-03-08 14:36:19

因为dataVal被转换为boolean使用Boolean.booleanValue()哪个被转换为null.booleanValue()哪个会导致您发生NullPointerException。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档