So konvertieren Sie eine Listensammlung in ein Array in Java: 1. Verwenden Sie die Parameterlose toArray-Methode, das Syntaxformat ist „Object[] toArray();“ 2. Verwenden Sie die toArray-Methode, die Generika unterstützt, das Syntaxformat ist „
T[] toArray (T[] a);“.
Verwandte Empfehlungen: „Java Video Tutorial“
In Java stoßen wir häufig auf Szenarien, die eine Konvertierung zwischen Liste und Array erfordern. Wie konvertiert man also eine Liste in ein Array? Der folgende Artikel stellt es Ihnen vor.
Um List in ein Array zu konvertieren, können Sie die Methode toArray() oder toArray(T[] a) von List verwenden.
Liste in Array konvertieren
Um eine Liste in ein Array zu konvertieren, können Sie die toArray-Methode aufrufen.
Hier gibt es zwei überladene Methoden.
Verwenden Sie im Allgemeinen die zweite Methode mit generischen Parametern:
Object[] toArray(); <T> T[] toArray(T[] a);
2.1 . Parameterlose toArray-Methode
Object[] toArray();
Diese Methode konvertiert List direkt in ein Object[]-Array.
Java-Anfänger verwenden diese Methode gerne
Sie ist sehr praktisch, wenn der Code kompiliert wird.
Der Beispielcode für eine falsche Verwendung lautet wie folgt:
rreeeAs Sobald das Ergebnis ausgeführt wird, wird direkt ein Fehler gemeldet.
Objekt[] kann nicht in String[] konvertiert werden:
List<String> strList = new ArrayList<>(); strList.add("list-a"); strList.add("list-b"); String[] strArray = (String[]) strList.toArray();
Der korrekte Verwendungscode lautet wie folgt:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
habe ein Objekt[] erhalten, das normalerweise nutzlos ist.
2.2. Unterstützt die generische toArray-MethodeList<String> strList = new ArrayList<>();
Object[] strArray = strList.toArray();
Beachten Sie, dass Basistypen nicht als generische Parameter verwendet werden können.
Wenn Sie ein Array vom Typ int[] verwenden,
Sie müssen int[] durch Integer[] ersetzen.
Der verwendete Beispielcode lautet wie folgt:
<T> T[] toArray(T[] a);
Für den folgenden Code
analysieren Sie die Größe des initialisierten String-Arrays,
und die Größe von die Liste strList.size( ), die verschiedenen Auswirkungen von
auf den Rückgabewert:
List<String> strList = new ArrayList<>(); strList.add("list-a"); strList.add("list-b"); String[] strArray = strList.toArray(new String[strList.size()]);
2.3.1.size < strList.size()
Setzen Sie jetzt size=0,
ist kleiner als strList.size ()=2,
Der geänderte Teil des Codes lautet wie folgt:
List<String> strList = new ArrayList<>(); strList.add("list-a"); strList.add("list-b"); String[] strArray1 = new String[size]; String[] strArray2 = strList.toArray(strArray1);
Die zurückgegebenen strArray2 und strArray1 sind nicht dasselbe Objekt.
2.3.2.size = strList.size() Die folgenden zwei Codeteile sind also äquivalent. Das von erhaltene strArray ist das Ergebnis, das wir erwarten:String[] strArray1 = new String[0];
String[] strArray1 = new String[strList.size()];
Programmierlehre
! !Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine Liste in ein Array in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!