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.



¡Hola! Soy Javier. Soy informático y me gusta documentar todo lo que aprendo. En mi blog te enseño todo lo que sé y cómo puedes aprender a crear tu propia web, mejorar el SEO y aplicar técnicas de Marketing Digital para conseguir mayor visibilidad. Suscríbete para no perderte ninguna de mis guías sobre WordPress, posicionamiento SEO o Marketing Digital.

claro y conciso, el sueño de la razón