Błąd kompilacji Generic Array Creation From Inner Class
Usiłuję zaimplementować połączoną kolekcję za pomocą generycznych, takich jak poniżej.
public class A<E> {
private class B {
private B[] b;
private E item;
private B() {
this.b = new B[2];
}
} // end inner class B
} // end class A
A to kolekcja, a B element lub węzeł w kolekcji z tablicą odwołującą się do następców / poprzedników i elementu.
Tworzenie tablicy jest niedozwolone. Błąd, który dostaję, jestgeneric array creation
. Czy mam rację sądząc, że to, co tworzy, jest tablicąA<E>.B
?
Jeśli nie, co powoduje błąd?
Jeśli tak, jak mogę to obejść?
Oczywiście pominąłem znaczną ilość kodu, jeśli to, co podałem, nie wystarczy, daj mi znać. Wszelkie porady zostaną docenione. Dziękuję Ci.
EDYTUJ 1: Powinienem był wspomnieć, że sparametryzowany typ musi być taki samA
jak wB
. Tak mija<E>
do klasy wewnętrznej nie jest możliwe, ponieważ tworzyE#2
i odchodziA
zE#1
.