Java:如何扩展使用泛型但限制类型的对象

Java:如何扩展使用泛型但限制类型的对象,java,generics,arraylist,extends,implements,Java,Generics,Arraylist,Extends,Implements,很抱歉,我不确定我是否使用了或正在使用正确的术语,但基本上我想创建一个名为EntityList的类,它扩展了ArrayList,但我想让我创建的名为EntityInterface的接口基本上用于EntityList的所有实例中的E,所以我没有手动声明 代码方面,我希望能够把这个放进去 EntityList EntityList=new EntityList(); 得到了这个问题的等价结果 EntityList EntityList=new EntityList(); 我真的不知道如何从这里开

很抱歉,我不确定我是否使用了或正在使用正确的术语,但基本上我想创建一个名为
EntityList
的类,它扩展了ArrayList,但我想让我创建的名为
EntityInterface
的接口基本上用于
EntityList
的所有实例中的E,所以我没有手动声明

代码方面,我希望能够把这个放进去

EntityList EntityList=new EntityList();
得到了这个问题的等价结果

EntityList EntityList=new EntityList();
我真的不知道如何从这里开始。下面是我对这个问题的尝试

import java.util.ArrayList;
//现在只是一个扩展了ArrayList的类,它被设计用来保存实体。
公共类EntityList扩展了ArrayList{
EntityList(){
}
}
显示问题的最好方法是将arraylist显示为instants变量

import java.util.ArrayList;
//现在只是一个扩展了ArrayList的类,它被设计用来保存实体。
公共类实体列表{
ArrayList al=新的ArrayList();
EntityList(){
}
}
然而,这基本上就是我想要的,同样是变量形式,而不是扩展形式

import java.util.ArrayList;
//现在只是一个扩展了ArrayList的类,它被设计用来保存实体。
公共类实体列表{
ArrayList al=新的ArrayList();
EntityList(){
}
}
我相信如果我这样做

公共类EntityList{
它应该基于这个线程工作。

但是,在eclipse上试用后,对我的代码进行了以下修改:

公共类EntityList扩展了ArrayList{
及 公共类EntityList扩展了ArrayList{ 两者都在eclipse中抛出错误。
我使用的是Java 6。我不确定我使用的是哪个子版本。我确实有Java 7,如果这样可以更正错误,我会尝试一下。

公共类EntityList扩展了ArrayList{

如果泛型类型为EntityInterface,则不会将EntityInterface作为名称。对于实例,这与。“公共类EntityList扩展了ArrayList{”EntityList不再是泛型类型的类,因此您可以像这样使用它:
EntityList list=new EntityList();
。这看起来不错。请记住当您得到(x)时会发生什么从EntityList中,您将得到一个EntityInterface,而不是您实际输入的对象的类。有点混乱。据我所知,ArrayList中的EntityInterface被用作一个名称。但是它可以工作。谢谢您,我将确保在您的答案中添加rep好的先生。很高兴知道我不是唯一一个失眠的人g、 好的,CapnSmack有一点我甚至没有想到。我试图用它来对游戏中的实体进行排序。我可以在使用get(x)时投射对象吗?