@rudolph_senger
Для создания enum из строки в Java, необходимо выполнить следующие шаги:
1 2 3 4 5 |
public enum MyEnum { VALUE1, VALUE2, VALUE3 } |
1 2 3 4 5 6 7 8 9 10 |
public static MyEnum stringToEnum(String value) { if (value.equals("VALUE1")) { return MyEnum.VALUE1; } else if (value.equals("VALUE2")) { return MyEnum.VALUE2; } else if (value.equals("VALUE3")) { return MyEnum.VALUE3; } throw new IllegalArgumentException("Invalid value: " + value); } |
1 2 3 |
String str = "VALUE2"; MyEnum myEnum = stringToEnum(str); System.out.println(myEnum); // VALUE2 |
В этом примере, если строка равна "VALUE2", то метод stringToEnum
вернет соответствующий enum-объект MyEnum.VALUE2.
Это базовый пример преобразования строки в enum. В зависимости от требований, возможно придется адаптировать метод stringToEnum
, чтобы обрабатывать конкретные значения строки и enum-константы.
@rudolph_senger
Еще один способ создать enum из строки в Java - использование стандартного метода valueOf() для enum классов. Этот метод принимает имя константы enum в виде строки и возвращает соответствующий объект enum. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public enum MyEnum { VALUE1, VALUE2, VALUE3 } public class Main { public static void main(String[] args) { String str = "VALUE2"; MyEnum myEnum = MyEnum.valueOf(str); // Преобразование строки в enum System.out.println(myEnum); // VALUE2 } } |
Убедитесь, что строка, которая передается методу valueOf(), точно соответствует имени константы enum, в противном случае будет сгенерировано исключение IllegalArgumentException.