Java プロジェクトの 1 つで、バグの原因となる問題に遭遇しました。問題は次のように聞こえます。
私は2つの配列を持っています。それらに firstArray と secondArray という名前を付けましょう。この場合のオブジェクトは、私が作成した別のクラスです。それは機能し、配列はそのタイプのオブジェクトで満たすことができます。
Object[] firstArray= new Object[];
Object[] secondArray = new Object[];
ここで、最初の配列から要素を取得し、それを編集してから 2 番目の配列にコピーすると、最初の配列のオブジェクトも変更されます。
tempObj = firstArray[3];
tempObj.modifySomething();
secondArray[3] = tempObj;
これを行うたびに、(この場合) 最初の配列の 3 番目の要素 (実際には 4 番目) が変更されます。私はこれをしたくありません。最初の配列を変更せずにそのまま残し、最初の配列から抽出して変更したオブジェクトを 2 番目の配列に格納して、2 番目の配列がコード実行後の最初の配列になるようにします。
PS Array.get(Array, index) を使用して最初の配列から要素を取得してから変更しても、要素は最初の配列で変更されます。
私が言いたいことを理解していただければ幸いです。もしそうなら、私に手を貸してください:)
ありがとうございました!