重新分配Java数组索引

时间:2016-10-05 17:10:10

标签: java arrays

我遇到了我编写的二维数组方法的问题。它没有什么花哨或复杂的东西。我正在开发一个Rubik的立方体解决方案,只是为了好玩,我还处于起步阶段。我遇到的问题是我的2d数组的一个索引正在被重新分配,但我没有重新分配它。以下是有问题的代码:

public static int[][] rightTurn(final int[][] array){
   int[][] newArray = array;
   System.out.println("Array at 02:" + array[0][2]);//this prints 3
   System.out.println("NEW ARRAY:");
   printArray(newArray);//this method just prints each row and column of the array.
   newArray[0][2] = array[1][2];
   newArray[1][2] = array[2][2];
   newArray[2][2] = array[0][2];
   System.out.println("Array at 02:" + array[0][2]);//now it prints 6
   return newArray;
 }

我传入此方法的数组是

int[][] twoDArray = {{1,2,3},
                     {4,5,6},
                     {7,8,9}
                    };

通过在右转方法中为数组[0] [2]赋值占位符变量,然后分配newArray [2] [2] =占位符,我找到了解决方法。但我仍然不知道为什么我的数组会重新分配数组[0] [2] = 6.任何人都可以对此提供任何见解吗?

0 个答案:

没有答案