[英]Java: Several possible types for a variable inside of a loop
我必須解決工作上的問題,由於我不太精通Java,所以我堅持使用它。
簡而言之,我有一個循環,該循環通過Map<String, String>
傳遞Map<String, String>
其中值定義了循環內變量類型的名稱。 我試圖以可能的方式進行解決。 我使用了反射和一些通用類,但是問題總是相同的:程序無法訪問該生成對象的方法,因為我無法確定其類型。 調用對象時,我必須接收ArrayList<String>
並將其附加到在項目主類中定義的多數民眾贊成(順便說一句:eclipse不顯示任何錯誤,我會得到運行時異常)。
因此,問題是:如何在循環內部從字符串(我假設帶有反射)分配具有動態類型的變量,並從存儲在其中的對象訪問方法?
到目前為止,聽起來應該是這樣的:
for (Map.Entry<String, String> entry : myMap.entrySet()){
Class<?> clazz = Class.forName(entry.getValue());
ADBBean bean = (ADBBean)clazz.newInstance();
Method method = clazz.getMethod("methodName", String.class, Integer.class, etc);
method.invoke(bean, "blah", 145);
}
我認為您正在尋找模板/通用編程。 http://en.wikipedia.org/wiki/Generics_in_Java
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.