誰かがこのコードのエラーを教えてもらえますか?
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);
}
}
基本的に、オブジェクトがそれ自体のオブジェクトの配列を格納するような自己参照型のものが必要です。このエラーが発生します
スレッド"main"の例外java.lang.ClassCastException:[Ljava.lang.Object; [Tree.Node;にキャストできません。
ツリーは私のパッケージ名です。