一、final修饰
使用final
修饰符定义的数组是不可变的,其初始化之后不能修改数组元素的值,例如:
final int[] array = {1, 2, 3};
这里的数组array
创建之后,其中的元素就不能再修改了。
二、static final修饰
使用static final
修饰符定义的数组也是不可变的,并且可以被多个对象共享,例如:
public class Constants {
public static final int[] ARRAY = {1, 2, 3};
}
在其他类中,可以通过Constants.ARRAY
来访问这个常量数组。
需要注意的是,数组的常量化仅限于数组本身是不可变的。如果数组内部引用可变对象,那么其引用的对象还是可以被修改的。例如:
final String[] strArray = {"hello", "world"};
strArray[0] = "hi";
这里虽然strArray
定义为常量,但是其元素引用的字符串对象还是可以修改的。