Wie Sie hinzufügen, wenn argument übergeben wird, werden als Generische ArrayList<?>

Ich habe eine Funktion, die eine generische ArrayList<?> als einen der Parameter, und was ich gefunden habe ist, dass ich ein Java-Fehler, wenn ich versuche, verwenden Sie die add-Methode der ArrayList

keine geeignete Methode gefunden für "hinzufügen" (MyClass)

Was ich versuche zu erreichen, ist die übergabe von Parametern für eine Klasse und eine ArrayList und die Funktion haben, füllen der ArrayList mit Objekten der Klasse. Obwohl, wenn ich könnte stattdessen erstellen und wieder die ArrayList aus meiner Funktion, das wäre auch in Ordnung (eine weniger parameter wäre schön).

Hier ist etwas code zu zeigen, wie ich bin versucht derzeit, gehen über diese:

public void myFunction(Class clazz, ArrayList<?> myList)
{
  Object myObject=null;
  try{myObject = clazz.newInstance();}catch(Exception e){}      
  myList.add(myObject);
}

... oder vielleicht so etwas wie dieses:

public ArrayList<?> myFunction(Class clazz)
{
  ArrayList<clazz> myList = new ArrayList<clazz>();
  Object myObject=null;
  try{myObject = clazz.newInstance();}catch(Exception e){}      
  myList.add(myObject);
}

Wenn jemand könnte, bitte:

a) zeigen Sie mir einige code, der dies tut

b) erläutern Sie, wie das zu erreichen ist mein Ziel die Verwendung von Generika

oder c) nur lassen Sie mich wissen, wohin ich gehe falsch und eine Alternative Möglichkeit

InformationsquelleAutor Matthew | 2012-10-07
Schreibe einen Kommentar