2016-04-01 12 views
1

オブジェクトをリストに渡そうとしています。オブジェクトには、 "移動"というString属性があります。オブジェクトをArrayListに渡した後、リストに渡されたオブジェクトを変更せずに、元の状態に「移動」の値をリセットするオブジェクトを変更したいと思います。これはどうすればいいですか?オブジェクトをリストに保存し、リストのエントリを変更せずにオブジェクトの文字列を変更しますか?

私は本当に助けて苦労しています。あなたは、オブジェクトのコピーを作成する必要があり

  if(B[i] && B[j] && !B[k]){ 
       B[i]=!B[i]; 
       B[j]=!B[j]; 
       B[k]=!B[k]; 
       String previousMoves=board.moves; 
       board.moves=board.moves+(i+"W"+k+", "); 
       board.store(B); 
       list.add(board); 
       board.moves=previousMoves;//Resetting string back to original 
       i++;j++;k++; 
       B=Arrays.copyOf(H, 33); 
      //Checks for a BWW situation 
      //Makes switch to WBB 
      } 
+2

元のオブジェクトのコピーを作成しないとできません。 – shmosel

+0

2つの状態を格納するには、明らかに2つのオブジェクトが必要です – Stewart

+0

@AliShobeiri、ショートカットはありません。新しいオブジェクトを作成し、元のフィールドをすべてコピーしてください。 – shmosel

答えて

0

私のコードです、ありがとうございました。したがって、clone()のようなメソッドを実装することも、引数と同じ型のオブジェクトを受け取るコンストラクタを実装することもできます。

+0

ありがとう!完璧に働いた! –

関連する問題