我正在尝试使用泛型实现链接集合,如下所示。
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
?
如果不是,是什么导致了错误?
如果是这样,我该如何解决这个问题?
我显然省略了大量的代码,如果我提供的还不够,请告诉我。任何意见,将不胜感激。谢谢你。
编辑 1:我应该提到参数化类型必须与 inA
相同B
。所以传递<E>
给内部类是不可能的,因为它创建并E#2
离开A
.E#1