有没有一种方法可以在特定的bean中指定属性的字符串名称并返回getter所对应的类?
最佳答案
您可以使用java.beans.Introspector类获取有关给定bean的信息。您不能查询BeanInfo的特定属性,但是可以遍历它们:
private Class<?> getPropertyType(Class<?> clazz, String property) {
BeanInfo beanInfo = Introspector.getBeanInfo(clazz);
PropertyDescriptor[] propDescriptors = beanInfo.getPropertyDescriptors();
for (PropertyDescriptor propDescriptor : propDescriptors) {
// String name of a property
if (property.equals(propDescriptor.getName())) {
// Class the getter corresponds to.
return propDescriptor.getPropertyType();
}
}
...
}