我注意到了这件事:我的班级有boolean
成员,并且在某个运行点我看到它在调试器中的价值为null
. 但是当我使用 getter 方法时,它会返回false
.
我知道,大多数书都告诉你,boolean
在 Java 中只有两个值,不像 C/C++ 中每个非零数都可以解释为true
. 所以我想知道,那里发生了什么?
null
当某些其他类型的值或可以解释为时,是否还有其他情况false
?也许对此的解释在 JLS 中的某个地方,有人可以指出我吗?
编辑:确实,昨天对于调试来说是糟糕的一天。首先,我浪费了 4 个小时来寻找错误的来源,当我反转源并再次进行相同的更改时,该错误消失了。然后这个。我只是试图重现,但不能。是流泪还是只是星期一是艰难的一天?我不知道。感谢大家的回应!我想你现在可以投票关闭或删除这个问题。