public class ObjectUtils {
private static final Logger LOG = LoggerFactory.getLogger(ObjectUtils.class);
/**
* 反射取得bean中对应属性的值
* @param bean
* @param fieldName
* @return
*/
public static Object getProperty(Object bean, String fieldName) {
Object obj = getProperty(bean.getClass(),bean,fieldName);
return obj;
}
private static Object getProperty(Class _class,Object bean,String fieldName){
Object obj = null;
Field[] fields = _class.getDeclaredFields();
Field.setAccessible(fields, true);
for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
if (fieldName.equals(field.getName())) {
try {
obj = field.get(bean);
} catch (IllegalArgumentException e) {
LOG.error(e.getMessage());
} catch (IllegalAccessException e) {
LOG.error(e.getMessage());
}
break;
}
}
if(obj == null && _class.getGenericSuperclass()!=null){
obj = getProperty(_class.getSuperclass(), bean, fieldName);
}
return obj;
}
}
Java通过反射得到其属性的值包含父类属性
最新推荐文章于 2024-07-27 04:27:12 发布
本文介绍了一个实用的Java工具类ObjectUtils,该类通过反射机制实现从Java Bean对象中获取指定属性的方法。此方法首先检查当前类是否包含所需属性,并尝试直接访问,如果未找到,则递归地在父类中查找。
4097

被折叠的 条评论
为什么被折叠?



