Verwenden Sie eine zweite ArrayList für die 3 Strings, kein primitives Array. Ie.
private List<List<String>> addresses = new ArrayList<List<String>>();
Dann können Sie haben:
ArrayList<String> singleAddress = new ArrayList<String>();
singleAddress.add("17 Fake Street");
singleAddress.add("Phoney town");
singleAddress.add("Makebelieveland");
addresses.add(singleAddress);
(Ich denke, einige seltsame Dinge mit Typ Löschung hier passieren kann, aber ich glaube nicht, dass es hier egal)
Wenn Sie‘ re dead setzt ein primitives Array ein, nur eine kleine Änderung ist nötig, damit das Beispiel funktioniert. Wie in anderen Antworten erläutert, kann die Größe des Arrays nicht in der Deklaration enthalten sein. So verändert sich:
private ArrayList<String[]> addresses = new ArrayList<String[3]>();
zu
private ArrayList<String[]> addresses = new ArrayList<String[]>();
arbeiten.
warum keine eigenen Klasse zu erstellen? – r3zn1k
Schließlich würde ich eine separate Klasse vorschlagen, wenn dieser Code dauern soll. Möglicherweise interessiert dich ein Code-Geruch, der als "primitive Besessenheit" beschrieben wird. – Grundlefleck
Vielen Dank für Ihre ausgezeichneten Antworten, ich denke, ich sollte einfach akzeptieren, dass es besser ist, eine separate Klasse dafür zu verwenden. – Johan