У меня есть спецификация, которая требует от меня передать массив списков. Массив всегда длина 2. Я использую следующие для достижения этой цели:Java: массив списка <MyClass>
List<MyClass> [] data = new ArrayList[2];
data[0] = new ArrayList<MyClass>();
data[1] = new ArrayList<MyClass>();
компилирует, но дает предупреждение:
uses unchecked or unsafe operations.
Я понимаю, что Массивы генерики не допускаются в Java, однако я не могу изменить спецификация и выше код, похоже, работают хорошо. До тех пор, пока я сознаю, что я никогда не переназначаю элементы массива как нечто отличное от типа ArrayList<MyClass>
, есть ли какие-то причины, по которым я не должен просто подавлять это предупреждение и быть на моем пути?
Лучше всего использовать Список Список: 'Список <Список>' –
[Вы не можете создавать общие массивы.] (Https://docs.oracle.com/javase/tutorial/java/generics/restrictions. html # createArrays) – shmosel
Возможный дубликат [this] (http://stackoverflow.com/questions/2927391/whats-the-reason-i-cant-create-generic-array-types-in-java) –