很抱歉,但我不确定我是否使用或正在使用正确的术语,但基本上我想创建一个名为EntityList
扩展 ArrayList 的类,但我想要它,以便我创建的接口EntityInterface
基本上用于 E inEntityList
所以我没有手动声明的所有瞬间。
代码方面我希望能够把它放进去
EntityList entityList = new EntityList();
并得到等效的结果
EntityList<EntityInterface> entityList = new EntityList<EntityInterface>();
我真的不确定如何从这里开始。这是我对这个问题的尝试。
import java.util.ArrayList;
//right now just a class that extends ArrayList designed to hold Entities.
public class EntityList<EntityInterface> extends ArrayList<EntityInterface> {
EntityList(){
}
}
我可以显示问题的最好方法是显示 arraylist 是一个即时变量。
import java.util.ArrayList;
//right now just a class that extends ArrayList designed to hold Entities.
public class EntityList<EntityInterface> {
ArrayList al = new ArrayList();
EntityList(){
}
}
然而,这基本上是我想要的,再次以可变形式而不是扩展形式。
import java.util.ArrayList;
//right now just a class that extends ArrayList designed to hold Entities.
public class EntityList<EntityInterface> {
ArrayList<EntityInterface> al = new ArrayList<EntityInterface>();
EntityList(){
}
}
我相信如果我做这样的事情,
public class EntityList<? implements EntityInterface> extends ArrayList<?> {
它应该基于这个线程工作。 通用:ArrayList 的?在 Java 中扩展 ISomeInterface
但是,在 eclipse 上尝试了我的代码的这个修改之后:
public class EntityList<E implements EntityInterface> extends ArrayList<E> {
和 public class EntityList extends ArrayList { 两者都在 Eclipse 中抛出错误。我正在使用 Java 6。我不确定我使用的是什么子版本。如果可以纠正错误,我确实有 Java 7,我会尝试一下。