У меня есть ссылка на тип класса Class<?>
общего типа Element
, и я хочу создать двумерный массив Element[][]
, где второе измерение null
. Есть ли способ сделать это?Как создать общий многомерный массив в Java?
код я прямо сейчас:
Class<?> type = ...
int length = ...
Element[][] array = (Element[][]) Array.newInstance(type, length, 0);
for (int i=0; i < array.length; i++)
array[i] = null;
Есть ли способ сделать это без петли и дополнительной выделенной памяти?
Edit ----
Второе измерение является нулевым означает, что его просто массив нулевых ссылок на массивы Element
. Я делаю это, чтобы я мог динамически распределять длину второго domension так, чтобы массивы не должны были иметь одинаковую длину. Так что я могу сделать что-то вроде этого:
array[0] = (Element[]) Array.newInstance(type, 4);
array[1] = (Element[]) Array.newInstance(type, 1);
array[2] = (Element[]) Array.newInstance(type, 3);
array[3] = null;
array[4] = null;
array[5] = (Element[]) Array.newInstance(type, 8);
и т.д ..
'array [i] = null'? Может быть, вы хотите поместить нуль в каждый элемент 2-го измерения? Что значит «Class >»? Ваш вопрос непонятен. – user1803551
Что вы подразумеваете под вторым измерением null? –
'Элемент [] [] array = new Элемент [длина] [];' – user2478398