我正在尝试克隆一个数组并作为对象而不是数组类型返回。
ž

 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()并将值放入array: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/

10-08 23:41