Java 这个布尔设置器是什么意思?
我被分配了一些Java程序的维护任务,并发现:Java 这个布尔设置器是什么意思?,java,Java,我被分配了一些Java程序的维护任务,并发现: public void setActiveCode(boolean isActiveCode) { this.isActiveCode = isActiveCode & Boolean.TRUE; } this.isActiveCode的类型是一个boolean,对于类中的每个boolean setter都重复相同的概念。我不明白为什么要这样做,我也不能问最初的开发者 这样做有什么正当的理由吗?很奇怪。布尔值可以与逻辑&一起使用,
public void setActiveCode(boolean isActiveCode) {
this.isActiveCode = isActiveCode & Boolean.TRUE;
}
this.isActiveCode
的类型是一个boolean
,对于类中的每个boolean setter都重复相同的概念。我不明白为什么要这样做,我也不能问最初的开发者
这样做有什么正当的理由吗?很奇怪。布尔值可以与逻辑
&
一起使用,但这是无用的,因为a&true=a
。似乎是特定于开发人员的OCD
这样做有什么正当的理由吗
不,这只是更详细的代码,在清晰度上没有任何提高(并且可以说是清晰度上的损失,因为这里您想知道它是关于什么的)
它使我想起
public boolean isTrue(boolean b) {
if(b == true) {
return true;
}
else {
return false;
}
}
不幸的是,你会不时在野外看到。真是太悲哀了。我想不出一个。在我看来,这是一个很好的例子。这证明了我的理论,即所有程序员都应该被迫记住德摩根定律。更不用说运算符优先级和其他一些完全的基础了。特别奇怪的是,单个
&
是位运算符,而不是普通的布尔运算符&
,使用Boolean.TRUE
而不是简单的TRUE
@jpmc26,当操作数为布尔时,它们都是布尔运算符。没有什么奇怪的,除了整件事。