Sin embargo debido a lo diferente de los arrays de las variables normales hay que tomar algunas precauciones cuando trabajamos de esta forma.
Pasando un Array a un Método
En Java pasar un array a un método no es ningún problema, sin embargo no se va a comportar de la misma manera que una variable de un tipo de datos primitivo, ya que cuando pasamos una variable tipo array a un método, realmente lo que estamos haciendo es pasar una referencia, es decir, el contenido que va a manipular el método realmente es el contenido del array que estamos pasando, por lo que si una posición cambia dentro del método también lo hará en el array original.
Por ello cuando hacemos este tipo de instrucciones dentro de nuestros programas debemos ser conscientes de lo que va a suceder para poder estar preparados para asumir los resultados y consecuencias. Veamos el siguiente código:
public class PruebaArray { public static void main(String[] args) { int x = 1; // x representa un valor int int[] y = new int[10]; // y representa un array de valores int m(x, y); // llamamos al metodo m con argumentos "x" y "y" System.out.println("x es " + x); System.out.println("y[0] es " + y[0]); } public static void m(int numero, int[] numeros){ numero = 1001; // Asignamos un nuevo valor a numero numeros[0] = 5555; // Asignamos un nuevo valor a numeros[0] } }
Aquí hacemos un programa bastante sencillo, lo que hacemos es que declaramos una variable int normal y luego declaramos un array int, luego los pasamos por parámetros a un método llamado m que recibe ambas variables, dentro del método le asignamos un valor nuevo a la variable int y le asignamos un valor a una posición de nuestro array.
Veamos que imprime el programa cuando lo ejecutamos por consola:
Si nos fijamos x mantiene su valor inicial, mientras que y en su posición [0] asume el valor que se le asigna dentro del método demostrando así lo explicado, que se utiliza la misma referencia del array aunque se pase como un parámetro al método.
Con esto finalizamos nuestro tutorial de cómo utilizar un array como parámetro en un método, como vemos la ejecución de esto no es nada complicado, tal vez cueste un poco entender la lógica de que se pasa una referencia al contenido del array y que este puede ser modificado dentro del método, sin embargo una vez que tenemos esto interiorizado, utilizar los arrays en nuestros programas nos ayudará a crear mejores funcionalidades.