我正在尝试克隆一个数组并作为对象返回,而不是数组类型。 z
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()
最佳答案
为 IntVector
声明一个新的构造函数,它接受一个 int 数组和一个计数:
IntVector(int[] data, int n) {
items_ = data.clone();
itemCount_ = n;
}
然后你可以像这样编写克隆:
public IntVector clone() {
return new IntVector(items_, itemCount_);
}
如果您愿意,您可以将新的构造函数设置为私有(private)
,这样只有clone
可以使用它。
关于java - Java中如何将数组放入对象中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12445219/