Dominik: Array Deklaration

Beitrag lesen

Eigentlich sollte auch von anderen Klassen auf dieses Array zugegriffen werden, aber wenn ich dies als Klassenvariable deklariere

String[][] strArr = new String[5][5];

muss ich bereits die Dimensionen wissen. Gibt es eine Möglichkeit dies zu umgehen? Oder hat vielleicht jemand eine bessere Idee?

natürlich mußt du beim Erzeugen des Arrays wissen wie groß es ist, wenn die Größe unbekannt ist kannst du z.B. java.util.vector nehmen. Das ist natürlich dann etwas langsamer.

wenn du die Variable mit static als Klassenvariable definieren willst, habe ich zwei Vorschläge:

1.) Willst du das wirklich? Bei korrekter Objektorientierter Programmierung ist das nur selten notwendig, insbesondere das von anderen Klassen aus direkt darauf zugreifen ist unschön.

2.) Du kannst den Klassen-Konstruktor (static { ... } ) benutzen, um das Array anzulegen. Der wird direkt nach dem Laden der Klasse ausgeführt. Natürlich kann man aus dem statischen Kontext heraus nur andere statische Methoden aufrufen. Wenn dein ganzes Programm aus statischen Methoden bestehen sollte hast du (fast) wie C in Java programmiert :-)

Dominik