Какая польза от использования функции fromValue вместо valueOf, java enums?

Я вижу, что некоторые программисты используют в перечислении структурную функцию, называемую fromValue. Какова цель, если мы можем использовать valueOf? Например, я нашел что-то вроде этого:

public static FooEnum fromValue(String v) {  
    return valueOf(v);  
}

2 ответа

Решение

У вас может быть недопустимое строковое значение:

public static FooEnum fromValue(String v) {
    try {
        return valueOf(v);
    } catch (InvalidArgumentException e) {
        return FooEnum.UNKNOWN;
    }
}

Подумайте о перечислении, которое имеет строковое свойство, значение которого отличается от имени перечисления.

public enum FooEnum {
   A("foo"),
   B("bar"),
   ;
  ...
 }

Тогда вам нужен такой метод для поиска значений свойств. Смотрите также этот ответ

Другие вопросы по тегам