通过复制保留二维数组修改
在 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