【发布时间】:2011-02-22 09:33:59
【问题描述】:
以下代码显然不起作用,因为List<E> 是抽象的:
public class MyList {
private List<E> list;
public MyList() {
this.list = new List<E>();
}
}
如果我需要将list 变量设置为LinkedList 或ArrayList(取决于我的需要),如何使用空构造函数初始化MyList 类?
【问题讨论】:
-
列表未标记为最终列表。是否必须在ctor中初始化?
-
是的,需要在构造函数中初始化。
-
实用工厂类是否可以接受?从 cmets 我得到的印象是您希望实现类型可配置,并且建议使用 MyList 使用的工厂。
-
我真的不知道那是什么,去调查...
-
也许你需要弄清楚你需要什么,我们会找到如何得到它。我们知道您需要一份清单。但是为什么有时你需要一个 Linked 而其他人需要一个 ArrayList?如果你想添加很多项目,也许 Linked 是可以的,当它完成后你想要转换它......尝试找到你的类将具有的实际行为......
标签: java list arraylist abstract-class linked-list