我有一个数组字段的PropertyDescriptor,如下所示。
Foo[] fooArray;
如何获得用于PropertyDescriptor的Foo,以便能够获得该类的getter和setter方法?
发布于 2016-03-14 21:27:02
如果Class对象表示数组类型,则可以请求元素类型:
Class<?> clazz = Foo[].class;
assert (clazz.isArray());
assert Foo.class.equals(clazz.getComponentType());为一个类请求“PropertyDescriptor”并不是真正有意义的,但也许您是在寻找BeanInfo
BeanInfo infoAboutFoo = Introspector.getBeanInfo(clazz.getComponentType());
PropertyDescriptor[] fooDescriptors = infoAboutFoo.getPropertyDescriptors();发布于 2016-03-14 21:27:21
您可以通过Class.getComponentType()访问数组类的组件类型。
因此,要为给定的BeanDescriptor写入Foo创建fooArray
BeanDescriptor d = new BeanDescriptor(fooArray.getClass().getComponentType());然后,BeanDescriptor允许您检索所有Foo bean属性的PropertyDescriptor。
https://stackoverflow.com/questions/35998153
复制相似问题