好吧,今天在工作中,我和我同事的代码经过了同行评审,并被告知要替换它。
Boolean isOpen;
*some processing that involves altering the value of isOpen*
if (!isOpen){
...
}
有了这个..
if (Objects.equals(Boolean.FALSE, isOpen)){
...
}
我知道这两种实现都是正确的并且产生相同的结果。我也知道使用对象包装器的后果Boolean。
我不明白在这种情况下使用 NOT 运算符和 Objects.equals() 之间的区别。我知道在运行时isOpen将会被拆箱。两者都仍然容易受到a的影响NullPointerException,那么有什么区别呢?它有点超越了逻辑运算符的目的。
忽然笑
相关分类