【发布时间】:2013-02-22 19:01:47
【问题描述】:
我正在尝试通过名称 memberName 访问 Object 对象的属性。
我试过了:
new PropertyDescriptor(memberName,object.getClass()).getReadMethod().invoke(object);
它适用于我的对象的大多数属性。但是其中一些是布尔值,getter 的形式是 'isValid' 而不是 'getValid',上面的代码会产生 IntrospectionException 错误。
如果可能的话,在不使用更多代码/外部库的情况下,我能做些什么来完成这项工作?
编辑:
是的,很抱歉,我忘了提到我班级成员的名字可能选得不好。它已经是 'boolean isValid' 并且 getter 也是 'isValid'。
【问题讨论】:
-
您可以查看标准阅读器是否存在,如果不存在,请检查布尔样式的阅读器。或者检查成员的类型并传入适当的名称。
-
它适用于我,在 java 6 上。你能发一个 SSCCE 吗?
标签: java introspection