class Scroll {
static boolean up;
static boolean down;
public static void scroll(boolean direction) {
if (/* ... */) {
System.out.println("UP");
}
else {
System.out.println("DOWN");
}
}
public class Test2 {
public static void main(String[] args) {
Scroll.scroll(Scroll.up);
}
}
如何使用Scroll.up
或Scroll.down
来检查调用了哪个字段?我知道在上面的代码中我可以通过其他方式获得相同的效果,但它是我的问题的本质的简化代码。
答案 0 :(得分:5)
如果唯一的选择是向上或向下,您可以将direction
重命名为up
,然后:
if (up) {
// Up
}
else {
// Down
}
如果有更多方向(例如左右),或者即使不是真的,这就是enum
方便的地方:
enum Direction {
Up,
Down,
Left,
Right
}
然后在您的代码中使用它,可能使用switch
:
switch (direction) {
case Direction.Up:
// ...
break;
case Direction.Down:
// ...
break;
case Direction.Left:
// ...
break;
case Direction.Right:
// ...
break;
}
答案 1 :(得分:1)
正如评论所建议的那样,使用枚举:
class Scroll {
public static enum Direction { up, down};
public static void scroll( Direction direction) {
if ( direction == Direction.up) {
System.out.println("UP");
}
else {
System.out.println("DOWN");
}
}
}
public class Test2 {
public static void main(String[] args) {
Scroll.scroll( Scroll.Direction.up);
}
}
您可以在this demo中看到它。
答案 2 :(得分:0)
如果(向上)则按下
如果(向下)然后向下按下。
布尔数据类型是(true / false,1/0)所以如果你调用
if (down)
如果down为“true”,它将进入。