Speichern von int in ArrayList und bekommen es zurück zu den primitiven Variablen int - Java
Ich erhalte eine Fehlermeldung, und kann nicht herausfinden, wie es zu lösen.
Füge ich ein int in eine ArrayList.
int n = 1;
ArrayList list = new ArrayList();
list.add( n );
Weiter unten, ich versuche, ihn wieder in einem anderen int:
grid[ y ][ x ] = list.get(0);
Ich auch so probiert:
grid[ y ][ x ] = (int) list.get(0);
Aber es funktioniert nicht, ich bekomme diese Fehlermeldung:
found : java.lang.Object
required: int
grid[ y ][ x ] = (int)list.get(0);
^
Ich hoffe mir kann jemand helfen.
- Was bedeutet die Erklärung des grid Aussehen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen Typ-parameter eher als der raw -
ArrayList
:Die Fehlermeldung, die Sie erhalten ist, weil Sie nicht gegossen, eine
Object
zuint
, autoboxing bricht es. Man könnte es Stimmen zuInteger
und dann haben Sie es autounboxed zuint
sein, aber mit dem type-parameter ist eine viel bessere Lösung.Verwenden
ArrayList<Integer>
. Wenn Sie das tunlist.get()
erhalten Sie eineInteger
die Sie anrufen könnenintValue()
um eineint
(Integer)list.get(0)
wird den trick tun. Auto-unboxing wird dann konvertieren Sie es in einint
automatischden wichtigsten Unterschied zwischen Array-list und Arrays, Array-Liste speichern können nur Objekte hinein, aber nicht primitiven Datentypen(in deinem Fall integer). so um dieses Problem zu lösen verwenden wir
ArrayList<Integer> list = new ArrayList<Integer>();
Danke.