Создание массива универсальных типов (Java)JAVA

Программисты JAVA общаются здесь
Anonymous
Создание массива универсальных типов (Java)

Сообщение Anonymous »

Мне нужна помощь с школьным упражнением, у меня есть следующие занятия:

Код: Выделить всё

class Queue {}
class Passenger {}
class Bus {
private Queue
[] passengers;
public Bus() {
@SuppressWarnings("unchecked")
Queue[] tmp = (Queue[]) new Object[3];
this.passengers = tmp;
}
}
По сути, класс Bus должен хранить массив Queue, как указано в вопросе. Однако, как бы я ни старался, я продолжаю получать исключение ClassCastException, когда пытаюсь привести новый Object[3] в Queue[]. Я знаю, что дженерики Java не очень хорошо работают с массивами, но я не уверен, что есть какой-либо другой способ решить эту проблему.
Я попробовал создать новый универсальный класс для хранения очереди< Passenger> в другой класс, но поскольку класс является универсальным, его невозможно скомпилировать ни с одним из методов, связанных с классом Queue. Я знаю, что использование Arraylist решит мою проблему, но вопрос требует, чтобы мы использовали массив с @SuppressWarning.

Подробнее здесь: https://stackoverflow.com/questions/790 ... types-java

Вернуться в «JAVA»