【发布时间】:2012-05-18 14:44:39
【问题描述】:
我正在尝试创建一个具有复制构造函数的通用容器。即使我已经编写了 clone 方法,但我在使用它时遇到了问题。这是我目前所拥有的:
public class MyBox<T>
{
private List<T> list;
public MyBox()
{
list = new ArrayList<T>();
}
public void add(T item )
{
list.add(item);
}
public MyBox(MyBox<T> other) throws CloneNotSupportedException //this is giving me trouble
{
for(T item : other.list)
{
list.add((T) item.clone());
}
}
}
如何让我的复制构造函数工作?
【问题讨论】:
-
如果将 MyBox 类定义为:public class MyBox
?那应该可以。 -
能否请您澄清您是否需要制作列表的深拷贝?换句话说,是否也需要复制列表中的每个元素,还是新列表只能指向相同的元素?
标签: java generics clone copy-constructor