如何通过反射从Java字段获取字符串值?

我有一个方法:

public void extractStringFromField(Class<?> classToInspect) {

Field[] allFields = classToInspect.getDeclaredFields();

for(Field field : allFields) {

if(field.getType().isAssignableFrom(String.class)) {

System.out.println("Field name: " + field.getName());

// How to get the actual value of the string?!?!

// String strValue = ???

}

}

}

当运行时,我得到如下输出:

Field name: java.lang.String

现在我该怎样提取实际字符串值入strValue

回答:

看起来您需要引用该类的实例。您可能要调用get和pass的引用,将返回值转换为String。

您可以使用get,如下所示:

String strValue = (String) field.get (objectReference);

以上是 如何通过反射从Java字段获取字符串值? 的全部内容, 来源链接: utcz.com/qa/423454.html

回到顶部