Java ArrayList

Split1989

hh-student.de
ID: 238425
L
9 April 2007
1.223
85
hi bin gerade ein bisschen am üben und da kommt mir die frage wieso das nicht geht ^^


Geht nicht:
Code:
ArrayList<String[]>kat;
kat.add({"ww","22"});

Geht:
Code:
ArrayList<String[]>kat;
String[] produkt = {"ww","22"};
kat.add(produkt );

ist das ein Syntax Fehler? oder darf man das da nicht direkt rein schieben und muss das vorher initialisieren?
 
Ich schätze so sollte auch dein erstes Beispiel klappen:
Code:
ArrayList<String[]> kat = new ArrayList<String[]>();
kat.add({"ww","22"});
Du musst kat zuerst noch ein Objekt zuweisen.

Wenn das nicht klappt poste mal deine Fehlermeldung.
 
Java erlaubt es dir, Arrays gleich bei der Definition zu initialisieren.
Das sieht dann so aus:
Code:
String[] produkt = {"ww","22"};

Diese Initialisierung ist aber nur im Zusammenhang einer Definition erlaubt.
Bei einer Zuweisungen geht es nicht mehr.
Folgendes funktioniert also nicht :
Code:
String[] produkt; 
..
produkt = {"ww","22"};

Dieses Beispiel kann so "repariert" werden:
Code:
String[] produkt; 
..
produkt = new String[]{"ww","22"};
 
Jedenfalls, mit deiner Deklaration hast du nur gesagt, dass du irgendwann mal eine ArrayList nutzen möchtest, aber konkret wurde sie noch nicht erstellt. (Man kann beispielsweise auch schon im Vorraus sagen, dass die Funktion xyz verwendet wird, aber sie später deklariert).

Deswegen kannst du nicht sofort eine "add"-Methode anwenden, da es "nichts" gibt, worauf du sie anwenden könntest.

Daher erstmal mit einem "new Arraylist ...." erstellen. (wie die Vorposter bereits gezeigt haben)