我不明白为什么arrSort
也被排序,即使我没有声明它被排序?
arrSort1 = arrSort
并不代表arrSort = arrSort1
对吗?
public static void main(String[] args) {
int[] arrSort = {4024, 4209, 9254, 8996, 9017, 6679, 3412, 6546, 2682, 42};
int[] arrSort1 = arrSort;
displayArray(arrSort);
displaySorted(arrSort1);
displayArray(arrSort);
}
public static void displayArray(int[] arrList){
for(int i = 0; i < arrList.length; i++)
System.out.print(arrList[i] + " ");
System.out.println();
}
public static void displaySorted(int[] arrSort1){
Arrays.sort(arrSort1);
for(int i = 0; i < arrSort1.length; i++){
System.out.print(arrSort1[i] + " ");
}
System.out.println();
}
输出说
4024 4209 9254 8996 9017 6679 3412 6546 2682 42
42 2682 3412 4024 4209 6546 6679 8996 9017 9254
42 2682 3412 4024 4209 6546 6679 8996 9017 9254
答案 0 :(得分:1)
arrSort1
和arrSort
都引用相同的数组,因此结果,您可能想要使用Arrays.copyOf
。
示例:
int[] arrSort1 = Arrays.copyOf(arrSort,arrSort.length);
答案 1 :(得分:0)
与C ++中的指针相同,您分配arrSort1 = arrSort
然后它们指向内存中的相同位置。当你用一个做某事时,另一个也会改变。您可以在分配