Heim >Java >JavaBase >Wie konvertiere ich eine Liste in ein Array in Java?

Wie konvertiere ich eine Liste in ein Array in Java?

青灯夜游
青灯夜游Original
2020-11-02 15:00:33100486Durchsuche

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

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:

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();

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-Methode

List<String> strList = new ArrayList<>();
Object[] strArray = strList.toArray();
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);

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()]);

2.3.1.size db15fa673e22f2fa1a7da9fc921a9a88 strList.size()Jetzt setze size=strList.size() +1,

Der geänderte Teil des Codes lautet wie folgt:

String[] strArray1 = new String[strList.size()];

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!

Stellungnahme:
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