Java 这个布尔设置器是什么意思?

Java 这个布尔设置器是什么意思?,java,Java,我被分配了一些Java程序的维护任务,并发现: public void setActiveCode(boolean isActiveCode) { this.isActiveCode = isActiveCode & Boolean.TRUE; } this.isActiveCode的类型是一个boolean,对于类中的每个boolean setter都重复相同的概念。我不明白为什么要这样做,我也不能问最初的开发者 这样做有什么正当的理由吗?很奇怪。布尔值可以与逻辑&一起使用,

我被分配了一些Java程序的维护任务,并发现:

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,当操作数为布尔时,它们都是布尔运算符。没有什么奇怪的,除了整件事。