2011-07-20 173 views

回答

37

是的,你可以。

private static <T> List<T> pushBack(List<T> list, Class<T> typeKey) throws Exception { 
    list.add(typeKey.getConstructor().newInstance()); 
    return list; 
} 

用例:

List<String> strings = new ArrayList<String>(); 
pushBack(strings, String.class); 
+0

你如何調用該方法?我不知道typekey應該是什麼類。我找不到任何關於它的事情。如果你有任何閱讀建議,這將是受歡迎的。感謝您的答覆! –

+0

@Pierre:剛剛添加了一個使用示例。基本上,如果你取得一個類名(在這種情況下是'String')並在其後面添加'.class',那麼你就有一個該類的類型鍵(類對象)。 'String.class'類型爲'Class '。 –

+0

我只是用它這樣的:static List pushBack(List list,Class typeKey,int size)它的工作。謝謝你,你幫了我很多。避免複製/粘貼代碼總是一種快樂。 –

3

簡單的解決方案!

private <GenericType> ArrayList increaseSizeArray(ArrayList array_test, GenericType genericObject) 
{ 
    array_test.add(new genericObject()); 
    return ArrayList; 
}