我正在尝试将不可修改的ArrayList添加到最终变量EX_FIELDS.exList是现有的ArrayList对象.
EX_FIELDS = (ArrayList<String>) Collections.unmodifiableList(exList);
Run Code Online (Sandbox Code Playgroud)
此代码存在于静态块中.当类加载时,我收到以下错误.
java.lang.ClassCastException: java.util.Collections$UnmodifiableRandomAccessList cannot be cast to java.util.ArrayList
Run Code Online (Sandbox Code Playgroud)
我需要使用EX_FIELDS来支持随机访问.有没有其他方法可以完成它?感谢提前任何帮助
Lou*_*man 10
EX_FIELDS应该有类型List<String>,而不是ArrayList<String>,你不应该做任何演员:你应该写
EX_FIELDS = Collections.unmodifiableList(exList);
Run Code Online (Sandbox Code Playgroud)
这是您应该编程到接口而不是实现的更一般规则的一个实例.