类中的java静态字段
我有一个类,它有数百个静态字段,int字段表示颜色
public class LColorPallette {
public static final int RED_050 = 0xfde0dc;
...
}
我想把它们放在一个可以是arraylist、map或set的容器中。我知道可以声明一个静态名称空间,这样就会有类似的东西
public class ColorPalletteSingleton {
static {
container.add(...);
...
}
我需要一个例子来说明如何去做,或者其他什么方法能解决我的问题
谢谢
# 1 楼答案
您可以尝试使用
reflection
获取所有字段# 2 楼答案
作为
Map
:# 3 楼答案
static {}
不是“静态名称空间”,它是一个静态初始值设定项块,用于初始化静态变量您可以将颜色存储在静态
Collection
中例如:
# 4 楼答案
而不是静态字段更喜欢枚举
What's the advantage of a Java enum versus a class with public static final fields?
Enum有返回数组的values方法。无需循环并添加到arrayList中
更新:根据VBR建议,首选枚举集而不是列表