通过反射获取最终的非空字段

iecba09b  于 2021-07-07  发布在  Java
关注(0)|答案(1)|浏览(307)
class MyObject {
  private final String name;
  private final String uuid;
}

如果给定的对象不为null,如何从中获取所有字段?
此代码在上失败 f.get("") 具有
无法设置最终字符串字段名。。。
当字段为空时

Arrays.stream(object.getClass().getDeclaredFields())
                .forEach(f -> {
                    try {
                        f.setAccessible(true);
                        system.out.println(f.getName() + ":" + f.get(""));
                    } catch (IllegalAccessException e) {
                        e.printStackTrace();
                    }
                });
eyh26e7m

eyh26e7m1#

第一个参数 get 应该是目标。所以, f.get(object) 是你想要的,不是吗 f.get("") ,它从对象中请求字段的值 "" ,这不起作用,因为 "" 是的示例 java.lang.String ,不属于 MyObject.class .

相关问题