2010-02-16 1 views

ответ

3

Вы можете использовать класс java.beans.Introspector для получения информации о данном компоненте. Вы не можете запросить 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(); 
     } 
    } 
    ... 
} 
+0

Знаете ли вы, может ли BeanUtil это сделать? –

+1

Я так думаю, но вы, вероятно, должны заявить, что используете Apache Commons, прежде чем задавать вопрос! –

0

находит ... org.apache.commons.beanutils.PropertyUtils.getPropertyType (боб Object, String, имя)