Java не имеет встроенной таблицы типа данных, единственными собственными базовыми типами типов (метатипами?) Являются
- примитивных значений (числовые, char и логические)
- массивы (линейные индексируемые наборы переменных одного типа).
- объекты классов (в основном набор именованных переменных указанного типа вместе с некоторыми методами, фиксированными классом).(Строки являются примерами этого.)
Все остальное должно состоять из этих типов.(Чтобы усложнить это, все типы массивов считаются подтипами java.lang.Object
, который является классом, от которого наследуются все другие классы.)
Таким образом, вы можете иметь массивы определенного класса, классы, которые имеют массив-типы как переменные класса (поля), а также массивы массивов, как здесь.
Ваш тип String[][]
состоит из массивов массивов String, а выражение создания массива new String[2][2]
создает массив длины двакаждый элемент сам по себе является массивом длины два.Каждый элемент этих массивов может быть строкой, но при создании он сначала null
.
s --> [ 0 , 1 ]
| '----> [ null, null ]
|
'---------> [ null, null ]
Теперь вы можете поместить в места этих null
s ссылки на фактические String
объекты,если хотите, используя s[0][1] = "Hello";
и аналогичные операторы.
Как уже говорили другие авторы, такой 2D-массив можно просмотреть как таблицу со строками и столбцами, если хотите, но этоничего особенного с языковой точки зрения.