How to iterate through enum in java
我有一个用于各种操作的枚举,我想遍历枚举Operations。
1 2 3 4
| public enum Operations
{
create,update,delete,view,compare,login
} |
我怎样才能做到这一点?
- 迭代枚举的值是很重要的,不仅仅是方便。这样做可以防止将来在添加或删除值时出现故障。
1 2 3
| for (Operations op : Operations.values()) {
...
} |
- 同样,当我尝试for (Operations op : Operations.values()) { if(arr[0].equalsIgnoreCase(op.name())) { op=Operations.valueOf(arr[0].toLowerCase()); log.info(arr[0].toString()); } }时,它似乎不起作用。
- @阿卜希希克·西蒙:那代码应该做什么?什么是arr[0]?你为什么要重新分配op?
- arr[0]来自参数map String[] arr=(String[])me.getValue();,我假设op=Operations.valueOf(arr[0].toLowerCase())意味着它是当前选择的operation,我想做的是,如果参数map包含任何操作,那么执行一组语句。
- @Abhishek Simon:这个任务是多余的:你已经在if语句中检查了arr[0]是否等于当前op的名称(忽略大小写),所以你有当前选择的操作,它是op。怎么不起作用?尝试打印语句以查看arr[0]实际包含的内容。