我在
Java中遇到了一些我以前没有遇到过的事情,也就是说,我需要在运行时创建一个新的ArrayList类实例,而不必分配一个已知的类型,然后将数据添加到列表中.听起来有点模糊,所以这里就是一个例子:
Class<?> c = i.getClass(); Constructor<?> con = ArrayList.class.getConstructor(); ArrayList<?> al = (ArrayList<?>)con.newInstance(); al.add("something");
现在我正在做这个,而不是使用泛型的原因是因为泛型已经被大量使用,并且这个例子中的“i”变量将被赋予使用类型“?”.我真的不会抛出另一个泛型,因为这将为用户带来更多的工作,在最终设计中将变得不那么灵活.有什么办法可以使用下面的东西(注意:下面的内容不起作用).有人有想法吗?
ArrayList<c> al = (ArrayList<c>)con.newInstance();