Как вернуть enum, в зависимости от поля сущности?

В 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

Чем больше депозит – тем больше бонусов. Также моим рефералам доступны торговые боты для трейдинга по самым выгодным тарифам.

Рекомендую статью:  Ваш первый Java-объект
Рейтинг
( Пока оценок нет )
Загрузка ...
Кводо.ру