Может ли кто-нибудь сказать мне, в чем ошибка в этом коде?
public class Node<T> {
private int degree;
@SuppressWarnings("unchecked")
T[] keys ;
Node<T>[] children;
Node(int degree) {
System.out.println(degree);
this.degree = degree;
@SuppressWarnings("unchecked")
Node<T>[] children = (Node<T>[])new Object[degree * 2];
@SuppressWarnings("unchecked")
T[] keys = (T[])new Object[(degree * 2) - 1];
}
public static void main(String[] s) {
Node<Integer> a = new Node<Integer>(5);
}
}
По сути, мне нужна самореферентная вещь, в которой объект хранит массив своих собственных объектов. я получаю эту ошибку
Исключение в потоке "основной" java.lang.ClassCastException: [Ljava.lang.Object; нельзя привести к [Tree.Node;
Дерево — это имя моего пакета.