Wir alle wissen, dass wir ein Objekt mithilfe des Klassennamens im Zeichenfolgenformat erstellen können. Wie ich einen Klassennamen "Test" habe. Verwenden Sie
%Vor%Wir können das Objekt dieser Klasse erstellen.
Meine Frage ist, dass es eine Möglichkeit gibt, eine Array- oder Array-Liste der Objekte unter Verwendung des Klassennamens zu erstellen? ODER nehmen wir an, wir haben ein Objekt der Klasse und können mit diesem Objekt die Array- oder Array-Liste des Objekts erzeugen.
Um ein Array zu erstellen, können Sie java.lang.reflect.Array
und seine newInstance
Methode:
Beachten Sie, dass der Rückgabetyp nur Object
ist, weil es keine Möglichkeit gibt, auszudrücken, dass er ein Array des richtigen Typs zurückgibt, außer dass es eine generische Methode ist ... die Sie normalerweise nicht haben wollen . (Du sicherlich nicht in deinem Fall.) Selbst dann würde es nicht verkraften, wenn du in int.class
übergeben würdest.
Beispielcode:
%Vor% Für ArrayList
gibt es kein solches Konzept wirklich - type löscht bedeutet, dass ein ArrayList
seinen Komponententyp nicht wirklich kennt, also können Sie any ArrayList
erstellen. Zum Beispiel:
Nach der Erstellung sind diese beiden Objekte hinsichtlich ihrer Typen nicht zu unterscheiden.
Sie können Array
verwenden %Vor%Es hat eine Methode newInstance (Klasse, int) :
%Vor%Erstellt ein neues Array mit dem angegebenen Komponententyp und der angegebenen Länge. Das Aufrufen dieser Methode entspricht dem Erstellen eines Arrays wie folgt: