所以我有两个变量:
int x = 3;
int y = 7;
Run Code Online (Sandbox Code Playgroud)
然后我有这个代码:
int key = 4; // Can be anything
if (key == x || key == y) {
if (key == x) {
// Do something with x
} else {
// Do something with y
}
// Do something with both x and y
}
Run Code Online (Sandbox Code Playgroud)
我真的很生气,不得不写key == x
2次,因为在我的原始代码中可能是非常长的东西:
key == StaticRandomVeryLongNamedClassName.getARandomNumber()
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点,而不必写key == x
两次?
只需将条件的结果分配给局部变量......
boolean equalsX = key == x;
boolean equalsY = key == y;
if(equalsX || equalsY) {
if(equalsX) {
}
if(equalsY) {
}
}
Run Code Online (Sandbox Code Playgroud)