ArrayList von Ganzzahlen in ein primitives int-Array konvertieren
In Java gibt es mehrere Ansätze, eine ArrayList, die Integer-Objekte enthält, in ein primitives int-Array umzuwandeln []-Array.
Eine Methode, wie im bereitgestellten Code-Snippet versucht, ist die Verwendung von toArray()-Methode. Dies führt jedoch aufgrund inkompatibler Array-Typen zu einem Fehler bei der Kompilierung. Um dieses Problem zu beheben, geben Sie den Typ des zurückzugebenden Arrays an, wie unten gezeigt:
int[] n = (int[])x.toArray(new int[x.size()]);
Ein alternativer Ansatz, der besonders bei Java 8 nützlich ist, ist die Nutzung der Stream-API:
int[] arr = list.stream().mapToInt(i -> i).toArray();
Diese Methode konvertiert jedes Element in der Liste in seinen entsprechenden int-Wert und ergibt das gewünschte Array.
Sie können auch die intValue-Methode verwenden, um jedes Element explizit zu konvertieren Ganzzahlobjekt:
int[] arr = list.stream().mapToInt(Integer::intValue).toArray();
Um potenzielle Nullreferenzen zu verarbeiten, fügen Sie der Stream-Pipeline einen Filter hinzu:
int[] arr = list.stream().filter(Objects::nonNull).mapToInt(i -> i).toArray();
Mit diesen Techniken können Sie eine ArrayList of Integers effizient in ein Grundelement konvertieren int-Array in Java.
Das obige ist der detaillierte Inhalt vonWie konvertiert man eine ArrayList von Ganzzahlen effizient in ein primitives int-Array in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!