Estoy copiando una matriz, con el metodo
public static int[][] copiarMatriz(int[][] matriz, int lado) { int[][] copia = new int[lado][lado]; for (int fil = 0; fil < lado; fil++) { for (int col = 0; col < lado; col++) { copia[fil][col] = matriz[fil][col]; } } return copia; }
Entonces tengo dos matrices, ambas creadas mediante
int[][] copia = new int[lado][lado];
la llamada la tengo
matrizcopia = copiarMatriz(matriz, lado);
una dentro de ese metodo y la original en el main. Si se dan unas codiciones, modifico la matriz, si no se dan las condiciones (con un if), utiliza la copia, es decir, uso el metodo al revés pero tengo problemas de aliasing, me realiza la matriz que no es. ¿Existe alguna manera de copiar la matriz original sin que se produzca aliasing entre la matriz original y la copia?