gpt4 book ai didi

java - 在 Java 中,如何将类型列表中的所有静态字段作为其类的对象(而不是 Field 实例)?

转载 作者:搜寻专家 更新时间:2023-11-01 03:08:09 26 4
gpt4 key购买 nike

我需要遍历一个类的静态字段列表(比如 MyClass )。这些字段都是 java.util.regex.Pattern 类型。使用反射,我可以获得所有静态字段,如下所示:

MyClass mc = new MyClass();
List<Pattern> patternList = new ArrayList<Pattern>();
for (Field f : Commands.class.getDeclaredFields()) {
if (Modifier.isStatic(f.getModifiers())) {
// add the Pattern corresponding to the field f to the list patternList
}
}

现在,因为我知道所有字段 f是 java.util.regex.Pattern 类型,我想创建一个 List<Pattern>包含所有这些。我该怎么做?

虽然 SO 上有几个关于反射(reflection)的问题,但我还没有找到任何与我相匹配的问题。如果我的问题重复,我深表歉意。

最佳答案

这个怎么样?

patternList.add((Pattern)f.get(null));

(关于您问题的措辞,字段 f 的类型为 Field,但它的目标类型为 Pattern。 )

引用:http://docs.oracle.com/javase/6/docs/api/java/lang/reflect/Field.html

关于java - 在 Java 中,如何将类型列表中的所有静态字段作为其类的对象(而不是 Field 实例)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15454877/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com