int[] a = new int[] {7,2,1,10,8,9};
int[] b = a;
Arrays.sort(b);
为什么在 b 上的排序操作之后两个数组都得到排序。不应该只有 b 得到排序吗?
int[] a = new int[] {7,2,1,10,8,9};
int[] b = a;
Arrays.sort(b);
为什么在 b 上的排序操作之后两个数组都得到排序。不应该只有 b 得到排序吗?
因为它只有一个数组。“a”和“b”只是对同一个数组的引用。
如果您使用 clone 方法来复制值,那么 a 和 b 将是不同的数组,只有 b 会被排序。
因为a
andb
是对同一个数组的引用。当你这样做
int[] b = a;
你不是在复制你的数组,你只是在复制对同一个数组的引用。
两者都b
指向a
同一个数组对象。所以它们都是同一个数组。
因为将 a 分配给 b 只会分配对数组的引用。内存中只有一个数组,因此无论您从何处访问它,更改它都会改变它。