我正在创建一个具有ArrayList的类,因此当我调用构造函数时,它将初始化该数组:
public class ElementsList<E>
{
private ArrayList<E> list;
public ElementsList()
{
list = new ArrayList<E>;
}
}
我不明白为什么当您创建构造函数时,您实际上不必提及该类将保留某些元素的事实。我的意思是您不必这样做:
public ElementsList<E>{
list = new ArrayList<E>;
}
简短的故事:为什么类的名称为
ElementsList<E>
,而构造函数没有<E>
部分? 最佳答案
在构造函数声明中,您无需再次提及元素类型E
,因为您已经在类声明级别进行了声明。
即你已经宣布你的课程了
public class ElementsList<E> {
因此标识符
E
已经表示您的元素类型。将构造函数写为
public <E> ElementsList() {...}
有效地表示另一种与您的类的元素类型无关的类型。