1

配列を複製して、配列型ではなくオブジェクトとして返そうとしています。ぜ

 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();
  }

*配列を作成するメソッドが他に 2 つあります:IntVector() と値を配列に入れるメソッド:push()

4

1 に答える 1

1

IntVectorint 配列とカウントを取る新しいコンストラクターを宣言します。

IntVector(int[] data, int n) {
  items_ = data.clone();
  itemCount_ = n;
}

次に、次のように clone を記述できます。

public IntVector clone() {
  return new IntVector(items_, itemCount_);
}

必要に応じてその新しいコンストラクターを作成できるためprivate、それのみcloneを使用できます。

于 2012-09-16T07:56:13.710 に答える