2015-07-21 84 views
0

如何使用類對象來分配列表的類型?Java如何使用類對象進行列表初始化

public void assign(Class name){ 
List<name> xlist = new ArrayList(); 
} 
+0

你可以使用'Object',後來將它轉換爲特定類型的 – depperm

+0

爲什麼你認爲你需要這個? –

+0

@ user3703592'public void assign(T t){List xlist = new ArrayList <>(); }' – CKing

回答

1

這可能會做:

public <T> void assign(Class<T> clazz) { 
    List<T> xlist = new ArrayList<>(); 
    /* 
     more code here... 
    */ 
} 
+0

爲什麼downvote? –

+0

我相信這是因爲'class clazz'在這裏毫無意義。 – CKing

+0

@Cing這不是沒有意義的。該方法是'void',所以沒有參數,沒有辦法獲得'T'。而'xlist'不會在任何地方返回。 –

1

可以使該方法一般:

public <T> void assign(){ 
    List<T> xlist = new ArrayList<T>(); 
} 

或通用類型參數可以在類級別(包含assign方法的類)中聲明。

這樣你就不需要將Class實例傳遞給你的方法。

+0

小心。該方法是'空白'。有了這個實現,就沒有辦法從任何地方獲得'T'。 –

+0

@LuiggiMendoza你可以調用,例如'測試。 createList();',假設'test'是包含該方法的類的一個實例。你不需要返回類型。 – Eran

+1

我知道,但AFAIK不是常見的Java代碼。試圖避免這種編碼方式。 –

1

我認爲你正在尋找這樣的:

public <T> void assign(Class<T> name) { 
    List<T> xlist = new ArrayList<>(); 
}