2

很抱歉,但我不确定我是否使用或正在使用正确的术语,但基本上我想创建一个名为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,我会尝试一下。

4

1 回答 1

3

public class EntityList extends ArrayList<EntityInterface> {

于 2013-03-29T11:08:55.960 回答