Arrays.asList()-Rätsel: Seine Einschränkungen verstehen
In Java bietet die Methode Arrays.asList eine praktische Möglichkeit, ein Array zu konvertieren in eine Liste eintragen. Beim Umgang mit primitiven Arrays wie float[] stoßen wir jedoch auf eine Anomalie.
Dieses Code-Snippet funktioniert wie erwartet und erstellt eine Liste von Integer-Objekten:
On the Andererseits kann der folgende Code keine List
Stattdessen ist die Ausgabe eine List
Arrays.asList akzeptiert einen varargs-Parameter, der eine syntaktische Abkürzung für ein Array ist. Im Fall von Grundelementen wird jedoch das gesamte Array als einzelnes Element und nicht jeder Grundelementwert behandelt. Dies führt zu einer Liste, die ein Array von Grundelementen enthält, und nicht einzelne Grundwerte, die als Objekte verpackt sind.
Leider , gibt es keine einfache Möglichkeit, ein int[] in List
Autoboxing konvertiert normalerweise Grundelemente in ihre entsprechenden Wrapper-Objekte zur Verwendung in Objektsammlungen. Bei der Anwendung auf Arrays von Grundelementen erfolgt dies jedoch nicht elementweise. Diese Einschränkung ergibt sich aus der Tatsache, dass Array-Autoboxing in Java nicht unterstützt wird.
Das obige ist der detaillierte Inhalt vonWarum führt „Arrays.asList()' in Java keine Autobox für primitive Arrays durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!