我正在编写一个类,它在某些时候必须拥有它的所有内容Field
s 从该类的另一个项目分配。
我通过反思做到了:
for (Field f:pg.getClass().getDeclaredFields()) {
f.set(this, f.get(pg));
}
问题是,这个类包含一个Field
,即final
。我可以跳过它的名字,但对我来说,这似乎一点也不优雅。
检查是否存在的最佳方法是什么Field
is final
在java中使用反射?
最好的也是唯一的一种方法是:Modifier.isFinal(f.getModifiers())
参考:
- Field.getModifiers http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Field.html#getModifiers%28%29
- Modifier.isFinal http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Modifier.html#isFinal%28int%29
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)