-1
getDeclaredField方法在下面的代碼中有什麼功能? tempClazz沒有在代碼中的任何地方定義。任何人都可以幫助理解下面的代碼?getDeclaredField()方法的結果是什麼?
private static Field getDeclaredField(Class tempClazz, String fieldName) {
Field field = null;
try {
field = tempClazz.getDeclaredField(fieldName);
field.setAccessible(true);
} catch (SecurityException e) {
return field;
} catch (NoSuchFieldException e) {
tempClazz = tempClazz.getSuperclass();
if (tempClazz == null) {
throw new RuntimeException(e);
}
field = getDeclaredField(tempClazz, fieldName);
return field;
}
return field;
}
好'tempClazz'是一個參數 - 你需要將一個參數傳遞給方法。真的不清楚你在問什麼...... –
這個方法實際上應該拋出一個'NoSuchFieldException'(更準確的說是它)。這個方法並沒有太多的包裝它,這種異常消息的方式會讓人困惑,因爲它基本上總是說「java.lang.Object上沒有這樣的字段」,沒有提到你實際查詢的類型。 –