我正在尝试克隆一个数组并作为对象返回,而不是数组类型。 ž
public IntVector clone()
{
IntVector cloneVector = new IntVector(3);
int[] newItems = new int[10];
for(int i=0 ; i<itemCount_; ++i)
{
newItems[i] = items_[i];
}
cloneVector = newItems; // is there a way to do something like this??
return cloneVector;
}
主要方法如下所示
public static void main(String[] args)
{
IntVector vector = new IntVector(5);
vector.push(8);
vector.push(200);
vector.push(3);
vector.push(41);
IntVector cloneVector = vector.clone();
}
*还有另外两个创建数组的方法:IntVector()并将值放入数组:push()
答案 0 :(得分:1)
为IntVector
声明一个新的构造函数,它接受一个int数组和一个count:
IntVector(int[] data, int n) {
items_ = data.clone();
itemCount_ = n;
}
然后你可以像这样编写克隆:
public IntVector clone() {
return new IntVector(items_, itemCount_);
}
如果您愿意,可以制作新的构造函数private
,因此只有clone
可以使用它。