本文介绍了我可以对Java Enums使用按位OR的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设你有一个枚举方向
enum Direction{
North,South,East West
}
我可以编写一个使用bitwise或者比较多个枚举的方法
Could I write a method that uses bitwise or's to compare multiple enums
public boolean canGoDirection(Direction dir){
return dir | Direction.North;
}
我将上述方法称为
this.canGoDirection(Direction.South | Direction.North);
推荐答案
你不能使用bitwise或类似的东西。尝试更像这样的事情:
You can't use a bitwise or like that. Try something more like this:
public boolean canGoDirection(Set<Direction> dirs){
return dirs.contains(Direction.North);
}
这样调用:
this.canGoDirection(EnumSet.of(Direction.South,Direction.North));
这篇关于我可以对Java Enums使用按位OR的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!