Java中的原始数组是否有一个不可变的替代方法?制作一个原始数组final实际上并不能阻止人们做类似的事情
final int[] array = new int[] {0, 1, 2, 3};
array[0] = 42;
Run Code Online (Sandbox Code Playgroud)
我希望数组的元素不可更改.
Java中的以下代码使用了一个final数组,String并且毫无疑问.
final public class Main {
public static final String[] CONSTANT_ARRAY = {"I", "can", "never", "change"};
public static void main(String[] args) {
for (int x = 0; x < CONSTANT_ARRAY.length; x++) {
System.out.print(CONSTANT_ARRAY[x] + " ");
}
}
}
Run Code Online (Sandbox Code Playgroud)
它在控制台上显示以下输出.
I can never change
Run Code Online (Sandbox Code Playgroud)
以下代码也毫无疑问.
final public class Main {
public static final String[] CONSTANT_ARRAY = {"I", "can", "never", "change"};
public static void main(String[] args) {
//CONSTANT_ARRAY={"I", "can", "never", "change"}; //Error - can not assign to …Run Code Online (Sandbox Code Playgroud)