通用类型作为Java方法中的参数

你认为有可能创造类似的东西吗?

private ArrayList increaseSizeArray(ArrayList array_test, GenericClass) { array_test.add(new GenericObject()); // instance of GenericClass return array_test; } 

是的你可以。

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

用法示例:

 List strings = new ArrayList(); pushBack(strings, String.class); 

简单解决!

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

老问题,但我想这是在java8 +中这样做的首选方式

 public  ArrayList dynamicAdd(ArrayList list, Supplier supplier) { list.add(supplier.get()); return list; } 

它可以像这样使用:

 AtomicInteger counter = ...; ArrayList list = ...; dynamicAdd(list, counter::incrementAndGet); 

这将在列表中添加一个数字,从AtomicInteger的incrementAndGet方法获取值

也可以使用构造函数作为方法引用,如下所示: MyType::new