我正在嘗試創建一個commonMethod,它符合通用列表allData類型並打印出接收到的alldata對象的值。此外,我將className作爲參數發送,以便我們可以通過反射檢索Class和Fields。獲取Java中的通用列表<?>對象的值
除了我想在forloop中聲明className的部分外,我幾乎在那裏。我知道其餘的代碼工作,因爲我試圖硬編碼一個ClassName,它的工作原理。
public void commonMethod(List<?> alldata, String className) {
Class c = Class.forName(className);
Field[] fields = c.getDeclaredFields();
//I would like to define incoming className here..but failing
for (className c : alldata) {
for (Field field : fields) {
field.setAccessible(true);
Object value = null;
value = field.get(c);
System.out.println(value);
//use the value in some other code
}
}
}
如何改變這一部分 爲(的className C:ALLDATA)得到它的工作..
感謝
'for(Object c:allData)''。 –
您可以輸入方法:'public void commonMethod(List alldata,Class c){ /* removed:Class c = Class.forName(className); * /'然後使用T –