Java 检查字段是否来自特定类
为了显示dataobject的键和值,我使用AccessibleObject的集合来生成一个表。AccessibleObject是在特定时间收集的,但当渲染器必须渲染表时,会读取值 问题是:我不仅想要保存一个特定类的AccessibleObject。是否可以检查AccessibleObject类原点?e、 g.Java 检查字段是否来自特定类,java,reflection,Java,Reflection,为了显示dataobject的键和值,我使用AccessibleObject的集合来生成一个表。AccessibleObject是在特定时间收集的,但当渲染器必须渲染表时,会读取值 问题是:我不仅想要保存一个特定类的AccessibleObject。是否可以检查AccessibleObject类原点?e、 g.accessibleObject.fromClass(classType)你是说 Member member = field or method; Class clazz = member
accessibleObject.fromClass(classType)代码>你是说
Member member = field or method;
Class clazz = member.getDeclaringClass()
要获取该字段出现在中的类
注意:这是实际的类,而不是您可能用来查找它的类。e、 g.假设A有一个字段x
和一个子类B。如果你得到类B的字段x,它会说声明类是A。这是因为A和B可以有一个名为x
的字段
Class c = field.getDeclaringClass();
从JavaDoc:
返回表示类或接口的类对象
声明此字段对象表示的字段的
我犯了一个错误。为了扩展我的系统,我扩展了集合以保存可访问对象
,而不是字段
,因为可以呈现方法
值以及字段
。是否有可能获得DeclaringClass?如果您可以将其更改为Member或将其转换为Member,您仍然可以获得此功能。方法和字段是成员
非常感谢。几分钟后我会把你的答案标为正确。祝您愉快。+1是的,我们可以这样做,因为AccessibleObject的所有子类都实现了Member。很好的捕获。但是如果将来有其他AccessibleObject的子类,并且如果它没有实现Member,那么这可能是一个问题。但在可预见的未来,我很抱歉。我正在寻找一种方法来检查AccessibleObject类(字段的超类)。