我希望枚举的字段常量返回 Color
类的实例而不是一些常量值,这在 Java 中可能吗?我想避免通过访问器方法检索它们。例如,这是我希望能够使用枚举的方式:
Color color;
color = ExtendedColor.RED;
color = ExtendedColor.FOO;
color = ExtendedColor.BAZ;
import java.awt.*;
/**
* Static utility enum for providing a much greater variety of Colors to choose from, some of which are not
* included as constants in the Color class
*/
public enum ExtendedColor {
RED(Color.RED),
ORANGE(Color.ORANGE),
YELLOW(Color.YELLOW),
FOO(10, 20, 30),
BAR(90, 90, 90),
BAZ(30, 30, 30);
private Color color;
private ExtendedColor(Color color) {
this.color = color;
}
private ExtendedColor(int r, int g, int b) {
this.color = new Color(r, g, b);
}
}
最佳答案
您可以创建一个包含公共(public)静态字段的类,并直接访问这些字段ExtendedColor.COLOR1
。
import java.awt.*;
public class ExtendedColor {
public static final Color COLOR1 = ...;
public static final Color COLOR2 = ...;
...
}
关于java - 如何让 "Enum.CONSTANT"返回某种类型(例如颜色)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33068955/