【发布时间】:2014-09-24 21:42:39
【问题描述】:
我试图了解如果我将一个值重新分配给最终的数组元素会发生什么,这是代码:
public class XYZ {
private static final String[] ABC = {"Hello"};
public static void main(String[] args){
System.out.println(ABC[0]);
ABC[0] = " World!!!";
System.out.println(ABC[0]);
}
}
ABC 是最终数组,在第一个位置它最初具有 "Hello",但是当我将它重新分配给 " World!!!" 时,它应该覆盖以前的值,或者它应该给出重新分配给最终变量的编译错误。该程序运行良好,这是输出:
run:
Hello
World!!!
BUILD SUCCESSFUL (total time: 0 seconds)
【问题讨论】:
-
@bigData 使用 Collections.unmodifiableList(Arrays.asList(ABC)) 获取不可修改的 List 并调用 toArray() 随时获取数组