簡體   English   中英

使用反射檢查java中的字段是否為final

[英]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的最佳方法是什么?

最好也是唯一的一種方法是: Modifier.isFinal(f.getModifiers())

參考:

您可以在Field變量上使用getModifiers()方法:

if ((f.getModifiers() & Modifier.FINAL) == Modifier.FINAL)
{
    //this is final field
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM