# Verschachtelte Arrays



## Ramon (31. Mai 2004)

Hallo allerseits,

Ich habe ein Problem beim Initialisieren eines 2D-String-Arrays, in dem ein weiteres 2D-String-Array abgelegt werden soll und hoffe, dass mir nach langer erfolgloser Info-Suche im Netz hier jemand helfen kann.
Mein bisheriger Versuch sieht schematisch so aus:


```
String[][] myStringArray={
                           {"str0",{{"str000","str001"},{"str010","str011"},{"str020","str021"},...}}, 
                           {"str1", {{"str100","str101"},...}},"str2" usw.
                         };
```

Bezwecken will ich damit, dass innerhalb von myStringArray jeweils einem String (z.B. "str0") ein 2D-Array zugeordnet wird, das je Index der ersten Dimension 2 weitere Strings enthält (z.B "str000" und "str001").
Leider bekomme ich mit obiger Klammerung vom Compiler den Fehler 'illegal initializer for java.lang.String'

Was mache ich falsch? 

Meine zweite Frage: Wie komme ich wieder an die Strings innerhalb des internen 2D-Arrays heran, wenn die Initialisierung dann mal klappen sollte?
Funktioniert es etwa hiermit:


```
String[] tmpArray=new String[2];

for(int i=0; i<myStringArray.length; i++)
{
    for(int j=0; j<myStringArray[i].length; j++)
    {
        tmpArray = myStringArray[i][1+j];
    }

    System.out.println("Dem String " + myStringArray[i][0] + "wurde folgendes zugewiesen: ");

    for(int k=0; k<tmpArray.length; k++)
    {
        System.out.println(tmpArray[k]);
    }
}
```
Ich danke euch für eure Antworten.

Gruß: Ramon[/code]


----------



## Beni (31. Mai 2004)

Ich hab zwar immer noch nicht ganz verstanden, wie das funktioniert, aber:

Ein String[][] erwartete _genau_ eine solche Struktur:
{{str00, str01},
{str10, str11, str12}}

Da ein String[] auch ein Object ist, könnte es vielleicht gehen, wenn anstelle von String[][] Object[][] schreibst.
Sofern du dabei nicht den Überblick verlierst :wink:, kannst du zu gegebener Zeit einen Cast rückwärts machen.

Vielleicht würde es sich aber auch lohnen, eine neue Klasse zu schreiben, die ein paar Strings aufnimmt?


----------



## Ramon (31. Mai 2004)

Vielen Dank an Beni!
Die Idee mit dem Object-Array statt einem String-Array ist die Lösung. Damit ist dann wohl auch das Problem des späteren Zugriffs auf den Inhalt des internen Arrays aus der Welt geschafft.

Gruß: Ramon


----------

