У меня есть класс, состоящий из нескольких свойств, одним из которых является enum
:
public class Car {
private String manufacturer;
private int power;
public enum Color {
RED("red"),
BLUE("blue"),
GREEN("green");
private final String value;
Color(final String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
public String getManufacturer() {
return manufacturer;
}
public void setManufacturer(String manufacturer) {
this.manufacturer = manufacturer;
}
public int getPower() {
return power;
}
public void setPower(int power) {
this.power = power;
}
public Car(String manufacturer, int power, Color color) {
this.manufacturer = manufacturer;
this.power = power;
// Color(color); // Calling constructor, but --> ERROR: cannot find symbol
}
@Override
public String toString() {
return "Car{" + "manufacturer=" + manufacturer + ", power=" + power + '}'; // TODO add color
}
}
Я помещаю этот класс в список и заполняю его некоторыми значениями:
List<Car> car = Arrays.asList(
new Car("Mazda", 95, Car.Color.BLUE),
new Car("Toyota", 110, Car.Color.RED),
new Car("Honda", 85, Car.Color.GREEN)
);
Хочу, чтобы я хотел использовать этот класс как обычный DTO с его геттерами и сеттерами:
System.out.println(car.get(0));
Но в моем случае я получаю только:
Car{manufacturer=Mazda, power=95}
Таким образом, атрибут color
отсутствует.
Как я могу использовать тип enum
как обычное свойство моего класса?