Arrays in Java haben vieles mit Objekten gemeinsam:
Mit new:
Button buttons[] = new Button[12];
oder
Button[] buttons = new Button[12];
Dies ist kein Konstruktoraufruf. Es werden keine Button-Objekte
erzeugt.
Das Array wird mit den Default-Initialwerten
(Seite )
initialisiert (hier null).
Mit Initialisierer:
int[] lookup = {1, 2, 4, 8, 16};
erzeugt dynamisch ein Array geeigneter Länge und initialisiert dessen
Elemente. Ausdrücke beliebig (anders als in C).
Seit Java1.1:
Anonyme Arrays durch Kombination Initialisierer/ new:
mymenu(new String[] {"Open", "Close", "Exit" };
byte[][] twodimarray = new byte[256][16];
oder
byte twodimarray[][] = new byte[256][16];
oder gar
byte[] twodimarray[] = new byte[256][16];
Ablauf:
Setze Referenzen auf diese in das Array aus 1.).
Initialisiere die 16 Bytes jeweils mit 0.
Teilweise Allokation:
int [][] ThreeD = new int[10][];
``Hintere'' Dimensionen dürfen offengelassen werden.
Nützlich für ``nicht-rechteckige'' Arrays:
short[][] dreieck = new short[10][]; for (int i=0; i < dreieck.length; i++) dreieck[i] = new short[i+1];
Allokation mit geschachtelten Initialisierern:
int[][] a3x2 = {{1,2}, {2,3}, {3,4}};
Geht auch ``nicht-rechteckig'':
int[][] b = {{1,2}, {2,3,4}, {5, 6}};
Arrays haben ein konstantes Attribut length, das die Anzahl der Elemente enthält.
for (int i=0; i < dreieck.length; i++) dreieck[i] = new short[i+1];
Die Array-Größe ist nicht Eigenschaft des Typs. Eine
String[]-Variable, zum Beispiel, kann unterschiedliche
Array-Objekte
aufnehmen:
String[] strings; strings = new String[10]; strings = new String[42];