温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java通过反射得到其属性的值包含父类属性

发布时间:2020-07-13 03:50:10 来源:网络 阅读:685 作者:沙漏半杯 栏目:编程语言


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;

    }

}




向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI