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」只是對同一個數組的引用。
如果您要使用克隆方法來複制值,那麼a和b將是不同的數組,並且只有b會被排序。
b
兩者並a
指向相同的陣列對象。所以他們都是同一個陣列。
因爲指定a只給b指定數組。內存中只有一個數組,所以無論您訪問哪個數組,它都會改變它。
由於a
和b
是到同一陣列的引用。當你做
int[] b = a;
你不是你的數組的副本,你只是複製一個引用到同一個數組。
沒有_both arrays_,因爲只有一個數組有兩個引用。 – jlordo 2013-02-20 10:34:39