Java 中的最終陣列


最終變數只能顯式初始化一次。宣告為 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 千次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告