假设您有一个枚举方向

enum Direction{
    North,South,East West
}

我可以写一个使用按位或比较多个枚举的方法吗
public boolean canGoDirection(Direction dir){
     return dir | Direction.North;
}

我将上述方法称为
this.canGoDirection(Direction.South | Direction.North);

最佳答案

您不能使用按位或类似的方式。尝试更多类似这样的方法:

public boolean canGoDirection(Set<Direction> dirs){
     return dirs.contains(Direction.North);
}

这样称呼:
this.canGoDirection(EnumSet.of(Direction.South,Direction.North));

关于java - 我可以对Java枚举使用按位或吗,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4960167/

10-13 04:59