В Java, вы можете вернуть значение перечисления на основе поля сущности, используя оператор switch или if-else.
Например, если у вас есть перечисление с именем “Color” со значениями “RED”, “BLUE” и “GREEN”, и сущность с именем “Shape” с полем “color”, вы можете вернуть соответствующее значение перечисления так:
enum Color {
RED, BLUE, GREEN
}
class Shape {
private Color color;
public Shape(Color color) {
this.color = color;
}
public Color getColorEnum() {
return color;
}
}
class Main {
public static void main(String[] args) {
Shape shape = new Shape(Color.RED);
Color color = shape.getColorEnum();
System.out.println(color); // Вывод: RED
}
}
Либо вы можете использовать оператор switch, чтобы вернуть значение перечисления на основе значения поля color:
enum Color {
RED, BLUE, GREEN
}
class Shape {
private String color;
public Shape(String color) {
this.color = color;
}
public Color getColorEnum() {
switch (color) {
case "red":
return Color.RED;
case "blue":
return Color.BLUE;
case "green":
return Color.GREEN;
default:
throw new IllegalArgumentException("Недопустимый цвет: " + color);
}
}
}
class Main {
public static void main(String[] args) {
Shape shape = new Shape("red");
Color color = shape.getColorEnum();
System.out.println(color); // Вывод: RED
}
}
Я уже 3 года торгую фьючерсами на Bybit и приглашаю тебя присоединиться и получить до $30 000 бонусами плюс скидки на комиссии:
Зарегистрироваться на Bybit
Чем больше депозит – тем больше бонусов. Также моим рефералам доступны торговые боты для трейдинга по самым выгодным тарифам. 
