Свойство Java Отражение Имя строки -> Тип данных класса - PullRequest
1 голос
/ 16 февраля 2010

Есть ли способ указать строковое имя свойства в конкретном бине и вернуть класс, которому соответствует получатель?

Ответы [ 2 ]

3 голосов
/ 16 февраля 2010

Вы можете использовать класс 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 голосов
/ 16 февраля 2010

Нашел это ... org.apache.commons.beanutils.PropertyUtils.getPropertyType (объектный компонент, имя строки)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...