在使用枚举之前,请检查有效的枚举值。

21 浏览
0 Comments

在使用枚举之前,请检查有效的枚举值。

我试图针对一个枚举集进行查找,我知道通常会有一个不匹配的情况,会抛出一个异常:我想在执行查找之前检查值是否存在,以避免异常。我的枚举看起来像这样:

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的建议,但感谢大家提供的所有有用的输入。

0