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
廣告