-1
當訪問一個不可見的字段或方法使用反射,這似乎是改變之後恢復原來的無障礙值常見的成語:更改後恢復原始可訪問性值的任何好理由?
Field field = ...
boolean origAccessibility = field.getAccessibility();
field.setAccessibility(true);
try {
// access field
} finally {
field.setAccessibility(origAccessibility);
}
我不知道是否有一個很好的理由,以恢復原來的無障礙狀態。我看到下面的情況:
- 編譯代碼無法訪問反正領域。訪問使用反射還將要求setAccessible(真) 使用反射只是爲了查詢方法的輔助將有可能得到錯誤的結果反正
- 代碼,而try塊是不可見的領域
- 代碼執行。
我傾向於認爲重置原始狀態是無用的。我錯過了什麼嗎?