Я пытаюсь найти набор Enum, зная, что часто возникает несоответствие, которое генерирует исключение: я хотел бы проверить, существует ли значение перед выполнением поиска, чтобы избежать исключений. Мой enum выглядит примерно так:
public enum Fruit {
APPLE("apple"),
ORANGE("orange");
;
private final String fruitname;
Fruit(String fruitname) {
this.fruitname = fruitname;
}
public String fruitname() {return fruitname;}
}
и я хочу проверить, является ли, скажем, "банан" одним из моих значений перечисления, прежде чем пытаться использовать соответствующее перечисление. Я мог бы перебирать допустимые значения, сравнивая мою строку с
Fruit.values()[i].fruitname
но я хотел бы сделать что-то вроде (pseduo-code):
if (Fruit.values().contains(myStringHere)) {...
Это возможно? Должен ли я использовать что-то еще (Массивы? Карты?)?
EDIT: в конце концов я пошел с предложением NawaMan, но спасибо всем за полезный вклад.