Ошибка компиляции универсального создания массива из внутреннего класса
Я пытаюсь реализовать связанную коллекцию с использованием обобщений, что-то вроде следующего.
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 - это коллекция, а B - элемент или узел в коллекции с массивом, ссылающимся на преемников / предшественников и элемент.
Создание массива не допускается. Я получаю ошибкуgeneric array creation
, Правильно ли я считаю, что то, что он на самом деле создает, представляет собой массивA<E>.B
?
Если нет, что является причиной ошибки?
Если так, как я могу обойти это?
Я, очевидно, опустил значительное количество кода, если того, что я предоставил, недостаточно, дайте мне знать. Любой совет будет принят во внимание. Спасибо.
EDIT 1: Я должен был упомянуть, что параметризованный тип должен быть одинаковым вA
как вB
, Так мимоходом<E>
для внутреннего класса не представляется возможным, так как это создаетE#2
и уходитA
сE#1
.