Я пытаюсь понять, почему я не мог определить 2d-массив в методе asList(), как если бы вы имели обычный массив.
Мы не можем ответить, почему то, что вы пробовали, не работало, когда вы не сказали нам, что вы пробовали. Я предполагаю, что вы действительно хотите знать, как создать List<String[]>
через Arrays.asList()
, передав отдельные элементы, а не сначала построив 2D-массив. Это было бы так:
public final List<String[]> pockets = Arrays.asList(
new String[]{"STATUS CHANGERS", "RUNES", "KEY ITEMS", "TROPHIES"},
new String[]{"POTION", "SUPER POTION", "FULL HEAL"},
new String[]{"ARMOR+","ATTACK+","EXP+","HEALTH+", "DISPELL+"},
new String[]{"QUEST ITEMS","STORY ITEMS","JOURNAL"},
new String[]{"TROPHIES"}
);
Примечание, в частности, что Java не имеет массива литералов, только массив Инициализаторы (которые могут быть связаны с декларациями массива), и массив конструкторами, такие, как в приведенном выше коде. Я предполагаю, что в ваших попытках вы пропустили new String[]
биты, которые создают эти конструкторы. Эти биты необходимы для указания типа элемента массивов, если не по какой-либо другой причине.
Кроме того, я знаю, что должен быть подкласс Java для импорта или более семантический подход.
Я понятия не имею, что вы имеете в виду. Вы уже используете класс java.util.Array
для выполнения строительства, и вы строите java.util.List
. Думаю, для большинства целей я бы рекомендовал использовать List
List
с (List<List<String>>
) и вообще избегать массивов, но я не могу быть уверен, подходит ли это для ваших целей.
Просьба уточнить, что вы можете создать обычный Array_. –