繁体   English   中英

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

[英]Get final non null fields by reflection

class MyObject {
  private final String name;
  private final String uuid;
}

如果它们不是 null,如何从给定对象中获取所有字段?
此代码在f.get("")上失败

无法设置最终字符串字段名称...

当字段为 null

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

第一个 arg get是 object。 所以, f.get(object)是你想要的,而不是f.get("") ,它要求 object ""中的字段值,因为""java.lang.String ,而不是MyObject.class

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM