有没有一种方法可以在特定的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();
        }
    }
    ...
}

07-27 22:56