通过复制保留 2D 数组修改
在 Java 中,创建对象的副本时,了解引用分配行为至关重要。在给定的场景中,定义了两个名为 current 和 old 的二维数组,以及复制内容的方法。
old() 方法将当前数组分配给 old。然而,这只是将引用传输到内存中的同一数组。当对 current 进行更新时,old 也会反映这些更改,因为它们都指向同一个底层数组。
keepold() 方法尝试将旧数组分配给 current。同样,这只会更新引用,而原始当前数组不受影响。因此,当对 current 进行更新时,old 的内容保持不变。
要在 Java 中创建 2D 数组的真实副本,需要手动复制每个元素。或者,为了更有效地复制,您可以使用 Arrays.stream().map()...toArray() 方法,该方法使用流 API 创建每行的克隆并将它们组装成一个新数组。
以上是如何在 Java 中正确复制二维数组以保留修改?的详细内容。更多信息请关注PHP中文网其他相关文章!