获取所有String字段的值

时间:2018-01-15 14:40:04

标签: java reflection

我有一个这样的课程

Class Constants {
    public static final String A = "abc";
    public static final String B = "xyz";
}

我想获取所有这些String字段的值并将它们添加到arrayList

List<String> myStrings = new ArrayList<>();

Field[] fields = Constants.class.getDeclaredFields();

for (Field field : fields) {
    myStrings.add(field.getName());
}

现在field.getName()给出了字段的名称,即'A',但我想要的是它的值'abc'

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:1)

试试这个:

for (Field field : fields) {
    myStrings.add(field.getName());
    myStrings.add((String)field.get(Constants.class));
}