Zee*_*han 0 java collections final arraylist
我正在映射一个表...说Employee到ArrayList<Employee>一个类级变量,我将在多个地方使用它,而不是每次都访问数据库.
我想把它保持为只读,即.没有人可以添加或删除
ArrayList曾经填充过的元素.
有人可以建议一种方法来实现这一目标吗
编辑:修改后我想要Exception抛出一些东西.
提前致谢
你可以用Collections.unmodifiableList.它将读取传递到后备列表,因此对后备(原始)列表的任何更新都将影响其他类看到的不可变视图.
如果您想要更新主列表时未更新的不可修改列表,则需要调用复制构造函数:
Collections.unmodifiableList(new ArrayList<Employee>(masterList));
Run Code Online (Sandbox Code Playgroud)
在这种情况下,Guava的不可变列表也是一个选项.