我想枚举颜色并使用Color实例。因此我创建了一个
枚举一个私有字段和一个get函数,但使用它很麻烦,因为
需要调用getColor()。
有没有更好的方法直接使用枚举常量而不调用getColor()?
public class ColorListTest {
public enum ColorList
{
WHITE(new Color(255, 255, 255)),
BLACK(new Color(255, 255, 255)),
;
private Color color;
private ColorList(Color color) { this.color = color; }
public Color getColor() { return color; }
}
public static void main(String[] args)
{
Color color = ColorList.WHITE.getColor();
// I'd rather have something similar to:
// Color color = WHITE;
// Color color = ColorList.WHITE;
}
}Using enums as key for map的答案
问题建议使用地图,该地图也需要调用get()。
另一个选择是使用一个常量列表,由于没有,所以它的类型安全性较低
枚举:
static public class ColorList
{
static final Color WHITE = new Color(null, 255, 255, 255);
static final Color BLACK = new Color(null, 0, 0, 0);
}(我发现的其他帖子似乎处理了很多字符串转换。)
那么你有一个很好的使用枚举的建议吗?