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 千次浏览

开启你的 职业生涯

完成课程获得认证

立即开始
广告