2011-07-20 128 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; 
}