使用unreflectGetter的方式获取一个对象属性的值

    @Data
    public static class User {
        private String userId;
        private Integer age;
    }

    @Test
    void reflect() throws Throwable {
        User user = new User();
        user.setUserId("zhangsan");
        user.setAge(10);
        Field[] fields = User.class.getDeclaredFields();
        for (Field field : fields) {
            MethodHandle getter = MethodHandles.lookup().unreflectGetter(field);
            Object value = getter.invoke(user);
            System.out.println(value);
        }
    }

结果:

zhangsan
10
posted @ 2024-03-12 15:55  漠孤烟  阅读(81)  评论(0)    收藏  举报