2013-01-18 60 views
0

我是Java語言的新手。我有一個案例,我想動態地創建一個列表。 例如如何通過接受類名來動態創建列表

public List getData(String classname) 
{ 
    List<classname> ob = querywithParams.list(); 
    return ob; 
} 

我會打電話給喜歡

List<Student> ob=getData("Student"); 

這個功能如何實現在Java中這件事情?我需要這個創建一個通用的數據庫適配器來執行HQL。

回答

4

試試這個

@SuppressWarnings("unchecked") 
    public <T> List<T> getData(String classname, Class<T> pClass) 
    { 
     List<T> ob = querywithParams.list(); 
     return ob; 
    } 

我沒有看到你在你的方法使用string classname所以你還不如將其刪除(如果你想,只是指定類型)。 所以,如果你刪除字符串參數,一個示例調用的形式如下:

@SuppressWarnings("unchecked") 
public <T> List<T> getData(Class<T> pClass) 
{ 
    List<T> ob = querywithParams.list(); 
    return ob; 
} 

// example invocation from some other method 
    List<Student> ob = getData(Student.class); 
+5

你在哪裏使用classname? – Swapnil

+0

亞..其中是classname ??? – vmb

+0

即將到來的時刻:-) – Scorpion