透過複製保留二維數組修改
在 Java 中,建立物件副本時,了解引用分配行為至關重要。在給定的場景中,定義了兩個名為 current 和 old 的二維數組,以及複製內容的方法。
old() 方法將 current 陣列指派給 old 。然而,這只是將引用傳輸到記憶體中的相同數組。當 current 進行更新時,old 也會反映這些更改,因為它們都指向相同的基礎數組。
keepold() 方法嘗試將舊數組指派給 current。同樣,這只會更新引用,而原始當前數組不受影響。因此,當對 current 進行更新時,old 的內容保持不變。
要在 Java 中建立 2D 陣列的真實副本,需要手動複製每個元素。或者,為了更有效地複製,您可以使用 Arrays.stream().map()...toArray() 方法,該方法使用流 API 建立每行的克隆並將它們組裝成一個新陣列。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3