Heim > Java > JavaBase > Hauptteil

Wie konvertiere ich eine Liste in ein Array in Java?

青灯夜游
Freigeben: 2020-11-02 15:00:33
Original
100433 Leute haben es durchsucht

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);“.

Wie konvertiere ich eine Liste in ein Array in Java?

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);
Nach dem Login kopieren

2.1 . Parameterlose toArray-Methode

Object[] toArray();
Nach dem Login kopieren

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:

rreee

As 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();
Nach dem Login kopieren

Der korrekte Verwendungscode lautet wie folgt:

Exception in thread "main" java.lang.ClassCastException: 
[Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
Nach dem Login kopieren

habe ein Objekt[] erhalten, das normalerweise nutzlos ist.

2.2. Unterstützt die generische toArray-Methode

List<String> strList = new ArrayList<>();
Object[] strArray = strList.toArray();
Nach dem Login kopieren
Diese Methode empfängt ein Array vom Typ T.

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);
Nach dem Login kopieren

2.3 Die Array-Größe des Eingabeparameters der toArray-Methode

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()]);
Nach dem Login kopieren

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);
Nach dem Login kopieren

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];
Nach dem Login kopieren

2.3.3.size > strList.size()Jetzt setze size=strList.size() +1,

Der geänderte Teil des Codes lautet wie folgt:

String[] strArray1 = new String[strList.size()];
Nach dem Login kopieren
Die zurückgegebenen strArray2 und strArray1 sind dasselbe Objekt,

aber das letzte Element des Arrays ist null,

Wenn das Array mehr Elemente enthält als in der Liste,

Das Ende des Arrays unmittelbar nach dem Kopieren der Liste wird auf Null gesetzt,

das heißt, strArray1[strList.size()]=null,

Dies ist für den Aufrufer sehr nützlich, um es zu bestimmen die tatsächliche Länge des Arrays,

Wenn Sie strList.size( )+2 verwenden, um das Array zu initialisieren,

Das vorletzte Element des Arrays ist null.

Weitere Kenntnisse zum Thema Programmierung finden Sie unter:

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!