int[] a = new int[] {7,2,1,10,8,9};
int[] b = a;
Arrays.sort(b);
为什么在b上进行排序操作后两个数组都会被排序。不应该只对b进行排序吗?
答案 0 :(得分:7)
因为它只有一个数组。 ""和" b"仅引用同一个数组。
如果你要使用克隆方法复制值,那么a和b将是不同的数组,只有b会被排序。
答案 1 :(得分:2)
因为a
和b
是对同一个数组的引用。当你这样做
int[] b = a;
你没有复制你的数组,你只是复制对同一个数组的引用。
答案 2 :(得分:0)
b
和a
都指向同一个数组对象。所以它们都是相同的数组。
答案 3 :(得分:0)
因为分配a到b仅指定对数组的引用。内存中只有一个数组,所以只要你从中访问它,就可以改变它。