问题描述
我试图使用arrays.clone()方法来深度复制数组。
import java.util.*;
public class Main
{
public static void main(String[] args) {
int[] arr = {1,2,3,4,5};
m1(arr);
System.out.println("arr inside main: " + Arrays.toString(arr));
}
private static void m1(int[] arr) {
int[] narr = {5,6,7,8,9};
arr = narr.clone();
System.out.println("arr inside m1: " + Arrays.toString(arr));
}
}
输出:
arr inside m1: [5,9]
arr inside main: [1,5]
我们看到m1()
函数中的原始数组已更改,并且由于数组是通过引用传递的,所以我认为main()
函数中的原始数组也应已更改。
但是不是。
我想我缺少一些Java知识。
请放点灯。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)