我有这段代码,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;
}
代码仍然按预期运行,但如何整理这一点并使其更简单?
答案 0 :(得分:3)
对于布尔值,您可以直接在表达式中使用它,而无需将其明确地计算为true。
if (someBooleanVariable && someOtherBoolean){
// run condition
}
答案 1 :(得分:3)
if (knightTurn == true && occupied == true)
可以写为
if (knightTurn && occupied)
这也减少了犯这样的错误的可能性
if (knightTurn = true)