我希望重新发明轮子,并在 Java 中创建自己的通用数组支持列表类,类似于 ArrayList。是的,我知道这很愚蠢,但这是一种学术追求。问题是您无法实例化泛型类型的数组
public class MySuperCoolList<E> {
E[] array;
public MySuperCoolList<E> () {
array = new E[10]; // ERROR: cannot do this!
}
}
这个问题肯定有解决方案,因为 Java 的 ArrayList 也在做同样的事情。问题是,怎么做?如何实例化泛型类型的数组E
?它是如何在 ArrayList 中完成的(如果有人知道的话)?