【发布时间】:2012-10-07 23:03:54
【问题描述】:
我有一个函数,它采用通用 ArrayList<?> 作为参数之一,我发现当我尝试使用 ArrayList 的 add 方法时出现 Java 错误
没有找到适合 add(MyClass) 的方法
我想要完成的是传递类和 ArrayList 的参数,并让函数用类的对象填充 ArrayList。虽然如果我可以从我的函数中创建并返回 ArrayList,那也很好(少一个参数会很好)。
这里有一些代码来说明我目前是如何解决这个问题的:
public void myFunction(Class clazz, ArrayList<?> myList)
{
Object myObject=null;
try{myObject = clazz.newInstance();}catch(Exception e){}
myList.add(myObject);
}
...或者可能是这样的:
public ArrayList<?> myFunction(Class clazz)
{
ArrayList<clazz> myList = new ArrayList<clazz>();
Object myObject=null;
try{myObject = clazz.newInstance();}catch(Exception e){}
myList.add(myObject);
}
如果有人可以请:
a) 向我展示一些执行此操作的代码
b) 解释如何使用泛型实现我的目标
或 c) 让我知道哪里出错并提供替代方法
【问题讨论】:
标签: java generics collections