在java中,全部對象都是經過引用進行操做的。而數組也是一種對象,當把數組做爲參數傳遞給方法時,傳遞的實際上就是數組對象的引用。在方法中對數組的全部操做,都會映射到原數組中,這也是java面向對象的一個重要特徵。而所謂的"引用",就是java對象在堆內存的地址賦給了多個"棧內存"的變量。java
public class ArrayReturn { public static int[] sort(int[] arr){ //冒泡排序算法 for(int i = 0;i < arr.length;i++){ for(int j = i+1;j< arr.length;j++){ if(arr[i] < arr[j]){ int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } return arr; } public static void printArr(int[] arr,String msg){ System.out.println(msg); for(int i : arr){ System.out.print(i+" "); } System.out.println(); } public static void main(String[] args) { int[] arr = {3,12,7,8,70,36,41}; int[] arrnew;//聲明一個新數組引用(別名) printArr(arr,"排序前:"); arrnew = sort(arr);//把數組做爲參數傳遞給方法時,傳遞的實際上就是該數組對象的引用。 printArr(arrnew,"排序後:"); } }