Инициализаторы массивов могут быть определены в описании, создавая массив и присваивая некоторые начальные значения:
ArrayInitializer:
{ VariableInitializersopt ,opt }
VariableInitializers:
VariableInitializer
VariableInitializers , VariableInitializer
Инициализатор массива пишется как список выражений разделенных запятой, заключенный в фигурные скобки "{" и "}".
Длина построенного массива будет равняться числу выражений.
Каждое выражение определяет значение для одного компонента массива. Каждое выражение должно быть совместимо по присваиванию с типом компонент массива, или происходит ошибка времени компиляции.
Если компонент массива сам является массивом, то выражение определяющее компонент может само быть инициализатором массива; то есть инициализатор массива может быть вложен.
Последние точка с запятой могут появляться после последнего выражения в инициализаторе массива и игнорируется.
Как в примере:
class Test {
public static void main(String[] args) {
int ia[][] = { {1, 2}, null };
for (int i = 0; i < 2; i++)
for (int j = 0; j < 2; j++)
System.out.println(ia[i][j]);
}
}
до возникновения NullPointerException при попытке индексирования второго компонента массива ia, который равен null.