您可以使用反射来检查任何对象的内容,如下所示:
Object o = ...; // The object you want to inspectClass<?> c = o.getClass();Field f = c.getDeclaredField("myColor");f.setAccessible(true);String valueOfMyColor = (String) f.get(o);请注意,getDeclaredField()将仅返回由对象的类声明的字段。如果要查找由超类声明的字段,则应遍历对象的所有类(通过重复执行c =
c.getSuperclass()直到c == null)
如果要更改字段的值,可以使用set方法:
f.set(o, "some-new-value-for-field-f-in-o")
其他详细信息:https
:
//docs.oracle.com/javase/6/docs/api/java/lang/reflect/Field.html
https://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getField(java.lang.String)
您可以使用getField(…),如果未在类中找到,它将在超类上搜索。



