我正在尝试查找枚举集,因为我知道通常会出现不匹配的情况并引发异常:我想在执行查找之前检查值是否存在,以避免出现异常。我的枚举看起来像这样:
public enum Fruit {
APPLE("apple"),
ORANGE("orange");
;
private final String fruitname;
Fruit(String fruitname) {
this.fruitname = fruitname;
}
public String fruitname() {return fruitname;}
}
在尝试使用相关枚举之前,我想检查“banana”是否是我的枚举值之一。我可以遍历将我的字符串与
Fruit.values()[i].fruitname
但我希望能够做类似(伪代码)的事情:
if (Fruit.values().contains(myStringHere)) {...
那可能吗?我应该完全使用其他东西吗(数组?地图?)?
编辑:最后我接受了 NawaMan 的建议,但感谢大家提供的所有有用信息。
原文由 davek 发布,翻译遵循 CC BY-SA 4.0 许可协议
我真的不知道内置的解决方案。所以你可能不得不自己把它写成一个静态方法。