パラメータの 1 つとしてジェネリックを受け取る関数があり、その関数ArrayList<?>
の add メソッドを使用しようとすると Java エラーが発生することがわかりました。ArrayList
add(MyClass) に適したメソッドが見つかりません
私が達成しようとしているのは、クラスとArrayListのパラメーターを渡し、関数にクラスのオブジェクトをArrayListに入力させることです。代わりに、関数から ArrayList を作成して返すことができれば、それも問題ありません (パラメーターが 1 つ少ないとよいでしょう)。
これは、私が現在これをどのように行おうとしているのかを示すコードです。
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) Generics を使用して目標を達成する方法を説明して
ください または c) どこが間違っているのかを教えて、別の方法を提供してください