[英]Check if a field is final in java using reflection
我正在写一个类,它在某些时候必须从该类的另一个项目中分配所有的Field
。
我通过反思做到了:
for (Field f:pg.getClass().getDeclaredFields()) {
f.set(this, f.get(pg));
}
问题是,这个类包含一个Field
,这是final
。 我可以跳过它的名字,但对我来说似乎并不优雅。
使用反射检查一个Field
是否是final
的最佳方法是什么?
您可以在Field
变量上使用getModifiers()
方法:
if ((f.getModifiers() & Modifier.FINAL) == Modifier.FINAL)
{
//this is final field
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.