Conservar modificaciones de matrices 2D con duplicación
En Java, al crear copias de objetos, es crucial comprender el comportamiento de asignación de referencia. En el escenario dado, se definen dos matrices 2D denominadas actual y antigua, junto con métodos para copiar el contenido.
El método old() asigna la matriz actual a old. Sin embargo, esto simplemente transfiere la referencia a la misma matriz en la memoria. Cuando se realizan actualizaciones a la actual, la antigua también refleja estos cambios, ya que ambas apuntan a la misma matriz subyacente.
El método keepold() intenta asignar la matriz antigua a la actual. Nuevamente, esto solo actualiza la referencia, sin afectar la matriz actual original. Como resultado, cuando se realizan actualizaciones a la versión actual, el contenido anterior permanece sin cambios.
Para crear una copia fiel de una matriz 2D en Java, es necesario copiar manualmente cada elemento. Alternativamente, para una copia más eficiente, puede utilizar el método Arrays.stream().map()...toArray(), que emplea la API de flujos para crear un clon de cada fila y ensamblarlos en una nueva matriz.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3