Java核心:将null作为布尔值返回

时间:2012-10-29 16:15:31

标签: java null boolean

我注意到了这一点:我的班级有boolean成员,在某个运行点,我认为它在调试器中的值为null。但是当我使用getter方法时,它会返回false

我知道,大多数书都告诉你,Java中的boolean只有两个值,与C / C ++不同,其中每个非零数字都可以解释为true。所以我想知道,那里发生了什么?

当其他类型的某个值或null可以解释为false时,是否还有其他情况?也许在JLS的某个地方解释这个问题,有人可以指点我吗?

编辑:确实昨天是调试的糟糕日子。首先,我浪费了4个小时来找到一个错误的来源,当我逆转来源并再次做出相同的改变时,这个错误消失了。然后这个。我只是试图重现而不能。它是美化还是只是星期一是艰难的一天?我不知道。感谢大家的回应!我想你现在可以投票来关闭或删除这个问题。

1 个答案:

答案 0 :(得分:11)

听起来该字段被声明为nullable, wrapper type Boolean而不是boolean primitive