2014-11-23 43 views
0

我正在嘗試創建一個函數,它將接收一個類的對象,然後該函數將使用該對象來檢索它的類並將其用作xml解析的模型。功能如下:動態地將類分配到通用列表

myClass myClassObject=new myClass(); 
List aList = parseXMLtoList(stringBuffer.toString(),myClassObject); 

private List parseXMLtoList(String xmlString,Object modelClassObject) { 
    List<modelClassObject.getClass()> xmlList = new ArrayList(); //modelClassObject cannot be resolved to a type 
... 

但是,當我嘗試使用反映了某一類動態它給了我這個錯誤:modelClassObject cannot be resolved to a type

如何才能做到這一點?請幫忙。

回答

0

不要以爲你可以實現它。與其他類似的東西的集合類型僅適用於編譯時。所以只需使用List。

0

您必須使用泛型這樣的:

MyClass myClassObject= new MyClass(); 
List<MyClass> aList = parseXMLtoList("<some_xml/>", myClassObject); 


private static <T> List<T> parseXMLtoList(String xmlString, T modelClassObject) { 
    List<T> xmlList = new ArrayList<T>(); 

可以抑制可通過在一般定義添加此使用的類型:

private static <T extends MyClass> 

更多關於仿製藥:https://docs.oracle.com/javase/tutorial/java/generics/