我注意到这件事情:我的类有一个boolean类型的成员,在某些运行时刻,我在调试器中看到它的值为null。但是当我使用getter方法时,它返回false。
我知道,大多数书籍告诉你,Java中的boolean只有两个值,不像C / C ++中的每个非零数字都可以解释为true。所以我想知道,那里发生了什么?
是否还有其他情况,其他类型的值或null可以被解释为false?也许这方面的解释在JLS中,有人能指引一下吗?
编辑:昨天确实是调试的糟糕日子。首先,我浪费了4个小时去查找错误源,但在我反转源代码并再做同样的更改后,该错误消失了。然后就是这个问题。我尝试复现,但无法做到。这是幻觉还是周一真的很难?我不知道。感谢大家的回应!我想你们现在可以投票关闭或删除这个问题了。
我知道,大多数书籍告诉你,Java中的boolean只有两个值,不像C / C ++中的每个非零数字都可以解释为true。所以我想知道,那里发生了什么?
是否还有其他情况,其他类型的值或null可以被解释为false?也许这方面的解释在JLS中,有人能指引一下吗?
编辑:昨天确实是调试的糟糕日子。首先,我浪费了4个小时去查找错误源,但在我反转源代码并再做同样的更改后,该错误消失了。然后就是这个问题。我尝试复现,但无法做到。这是幻觉还是周一真的很难?我不知道。感谢大家的回应!我想你们现在可以投票关闭或删除这个问题了。
Boolean
而非boolean
。 - AlexR