Java 中的陣列


final 變數只能顯式初始化一次。宣告為 final 的引用變數永遠不能重新分配,以引用不同的物件。

然而,物件中的資料可以被更改。因此,可以更改物件的狀態,但不能更改引用。由於陣列也是一個物件,它被引用變數引用,如果將其設定為 final,則不能重新分配。讓我們看一些示例來進一步說明。

示例

public class Tester {
   public static void main(String []args) {
   
      final int[] arr = {1,2,3};

      //We can modify the final object's properties
      arr[1] = 4;
      for(int i = 0;i < arr.length ; i++) {
         System.out.println(arr[i]);
      }
   }
}

輸出

1
4
3

現在嘗試更改引用變數。編譯器將在編譯期間丟擲錯誤。

示例

public class Tester {
   public static void main(String []args) {

      final int[] arr = {1,2,3};
      int[] arr2 = {4,5,6};
      //We cannot modify the final refernce
      arr = arr2;

      for(int i = 0;i < arr.length ; i++) {
         System.out.println(arr[i]);
      }
   }
}

輸出

Tester.java:6: error: cannot assign a value to final variable arr
arr = arr2;
^
1 error

更新時間: 2020 年 6 月 21 日

1 千次瀏覽

開啟你的 職業生涯

完成課程獲得認證

立即開始
廣告