Copiar arrays de Java es sencillo, ¿pero qué método es más seguro para nuestra aplicación?

En este enlace demuestran la diferencia entre hacer un copia literal o un clonado de un array. Y lo demuestran consultando después el Hash Code, viendo en cada caso si mantiene el valor del array original o si obtiene un código nuevo. Aquí el enlace.

Forma 1:

Copiar un array de esta forma “String [] array = arrayOrigen;”  hace que ambos arrays tengan el mismo Hash Code. Eso significa que el array nuevo es una variable por referencia que apunta al mismo contenido que el arrayOrigen.

Forma 2:

Copiar un array de esta otra forma “String [] array = (String []) arrayOrigen.clone();”  hace que ambos arrays tengan diferente Hash Code. Eso significa que el array nuevo es una copia nueva su contenido se almacena en una nueva zona de memoria. Por eso su Hash Code es diferente al del arrayOrigen.

¿Cuál es más seguro de utilizar dentro de un método?

El segundo. De esa forma evitamos cambiar los datos por error del arrayOrigen.

Advertisements

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies

Pin It on Pinterest

Share This

Compártelo

¡Comparte este artículo con tus amigos!