我有一个常量类,其中充满了一堆最终静态字符串。我需要一种方法以良好的数组类型形式访问此类中的所有这些常量,而无需手动创建包含每个常量的数组。
类上是否有任何类型的方法可以给我返回一个迭代数据结构,我可以在另一个类中循环遍历?
谢谢!
最佳答案
您可以使用反射来获取声明的字段:
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
public class field1 {
private double d;
public static final int i = 37;
String s = "testing";
public static void main(String args[]) {
field1 f = new field1();
try {
Class cls = Class.forName("field1");
Field fieldlist[] = cls.getDeclaredFields();
for (Field field : fieldlist) {
System.out.println("name = " + field.getName());
System.out.println("decl class = " + field.getDeclaringClass());
System.out.println("type = " + field.getType());
int mod = field.getModifiers();
System.out.println("modifiers = " + Modifier.toString(mod));
System.out.println("value = " + field.get(f));
System.out.println("-----");
}
} catch (Throwable e) {
System.err.println(e);
}
}
}
该样本来自here
关于java - 有什么方法可以将 Constants 类中的 Java 常量转换为另一个类中的迭代形式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6048815/