如何打造一个深度不可修改的系列?
2022-09-03 15:19:14
我经常在从 getter 方法返回集合字段之前使其不可修改:
private List<X> _xs;
....
List<X> getXs(){
return Collections.unmodifiableList(_xs);
}
但是我想不出一种方便的方法,如果上面的X本身就是一个列表:
private List<List<Y>> _yLists;
.....
List<List<Y>> getYLists() {
return Collections.unmodifiableList(_yLists);
}
上面的问题当然是,尽管客户端无法修改列表列表,但它可以从嵌入列表中添加/删除Y对象。
有什么想法吗?