简化布尔表达式

Simplify boolean expression

我有这段代码,eclipse 告诉我可以简化布尔表达式。

    knightTurn == true && occupied ==true

    knightTurn == true

boolean knightTurn 和 boolean occupied 在代码前面都设置为 false。

    boolean knightTurn=false

    boolean occupied=false

    @Tags({"passed"})
public void passed () 
{
    final int x = 50;
    if (knightTurn == true && occupied == true) {
        for (int i=0; i<x; i++) {
            standKnight.moveAvatar(i, 0);
            avatarEditor.refresh();
            i++;
        }
        occupied = false;
    }

}

@Tags({"failed"})
public void failed () {
    final int x = 35;
    if (knightTurn == true) {
        for (int i=0; i<x; i++) {
            standKnight.moveAvatar(i, i/2);
            avatarEditor.refresh();
            i++;
        }
        occupied =  false;
    }

代码仍然可以正常运行,但我该如何整理这一点并使其更简单?

对于布尔值,您可以直接在表达式中使用它,而无需将其显式计算为真。

 if (someBooleanVariable && someOtherBoolean){
    // run condition

 }
 if (knightTurn == true && occupied == true)

可以写成

 if (knightTurn && occupied)

这也减少了犯这些错误的可能性

if (knightTurn = true)