Я пытаюсь сделать представление Deque связанным списком, каждый узел связанного списка определяется экземпляром внутреннего класса Node
, m получение этого:Получение ClassCastException при попытке создать массив внутреннего типа класса
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [LRandomizedQueue$Node;
Я знаю, как это сделать. Это то, что у меня было:
private class Node {
Item item;
Node next;
Node prev;
}
@SuppressWarnings("unchecked")
private Node[] nd = (Node[]) new Object[100];
Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно, и помогите мне понять это? Большое спасибо за ваше время.
Редактировать: Кажется, у меня были проблемы с созданием общего массива против массива внутреннего класса. Большое спасибо за ответы.
Вы создаете 'Object []' и пытаетесь передать его в 'Node []'. Ожидаете ли вы, что Node node = (Node) новый Object() 'будет работать? – yshavit
Всегда неплохая идея не иметь @SuppressWarnings («unchecked») –