Я создаю граф, используя список смежности. (через массив связанных списков). Он завершается с исключением приведения класса, когда я пытаюсь создать и упорядочить объект и привести его обратно к исходному типу (Обход универсальных массивов). Но когда я заменяю это необработанным типом, это работает. Почему это ?
public class Graph {
int vertices;
DoublyLinkedList<Integer>[] adjacencyList;
public Graph(int vertices) {
this.vertices = vertices;
// Below line throws an error : Class Cast Exception
**adjacencyList = (DoublyLinkedList<Integer>[]) new Object[vertices];** /
// Replace above line with this line and it works.
**adjacencyList = new DoublyLinkedList[vertices];**
for (int i = 0; i < vertices; i++) {
adjacencyList[i] = new DoublyLinkedList<>();
}
}
}
public static void main(String[] args) {
Graph graph = new Graph(3);
graph.addEdge(0, 1);
graph.addEdge(1, 2);
graph.addEdge(2, 0);
}