Java 我需要将两个2d数组设置为彼此相等

Java 我需要将两个2d数组设置为彼此相等,java,arrays,multidimensional-array,return-value,Java,Arrays,Multidimensional Array,Return Value,我试图获取一个2D数组,我在一个方法中返回该数组,并将其调用到另一个方法中,然后将第二个2D数组的值设置为第一个数组的值 这是第一种方法: int xx = 23; int yy = 9; move(xx,yy, myArray); myNewArray = myArray; first = false; 第二点: public static int[][] move(int x, int y, int[][] myNewArray) { Scanner input = n

我试图获取一个2D数组,我在一个方法中返回该数组,并将其调用到另一个方法中,然后将第二个2D数组的值设置为第一个数组的值

这是第一种方法:

int xx = 23;
int yy = 9;
move(xx,yy, myArray);
myNewArray = myArray;
first = false;
第二点:

    public static int[][] move(int x, int y, int[][] myNewArray)
 {
     Scanner input = new Scanner(System.in);
     String direction = input.next();
     boolean moving = true;
     while(moving == true)
     {
         if(direction.indexOf("up") >= 0)
         {
         myNewArray[x][y] = 0;
         myNewArray[x-1][y] = 5;
         moving = false;
         return myNewArray;
        }
        }
    }
基本上,我尝试将一个2D数组制作成一张地图,在地图中,通过将角色移动到的位置的值更改为5,将角色离开的位置的值更改为0,可以在整个地图中移动角色(“5”)

我试图在第二个方法中返回一个数组,然后用它替换原始数组。

如果您想要内容的实际副本,请使用
Arrays.copyOf()
: 什么部分不清楚

复制指定的数组,截断或填充空值(如果 (必要)因此副本具有指定的长度。对于所有 如果在原始数组和副本中都有效,则这两个数组将 包含相同的值。对于副本中有效的任何索引 但不是原件,副本将包含null。这些指数将 当且仅当指定的长度大于 原始数组。结果数组的类与 原始数组

如果您只想对传入的引用创建另一个引用,请执行以下操作:
但这几乎没有实际用途

我认为这里的问题是,当您执行
move(x,y,array)
时,您没有将返回的结果保存到另一个变量中。因为我认为在Java中数组是按值传递的,所以这个方法最终什么也不做

试试这个:
int[]anotherArray=move(x,y,myArray)


这是一个不相关的问题,但您必须小心使用此函数,因为如果xx==0,它将返回
ArrayOutOfBounds
NullPointer异常
,这是什么
myNewArray
?什么是
xx
?什么是yy?什么是myArray?这些数组的值是多少?对不起,我是个初学者。谢谢你的帮助。这是一个诚实的编码能力的失误(或缺乏)。对于你的问题,我需要将两个2d数组设置为彼此相等,只需制作一个临时数组并将其初始化为
Array1
,然后设置
Array1=Array2
,然后设置
Array2=tempArray
newArray = oldArray;