在从 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 对象。
有什么想法吗?