我在我的Java项目的一个类中使用了ArrayList。该类跟踪列表是否已更改,并提供公共方法来添加和删除元素,这些方法会自动将变量设置为“已更改”。
到目前为止,列表是公共的,因为我希望我的列表可以从任何地方公开读取。但是,我只想让拥有该列表的类能够修改它。因此,不允许从外部类进行修改。这是否可能?如果可能,怎么做?
通常,为了进行访问控制,您可能会使用getter和setter方法。但即使使用getter方法并将列表设置为私有,另一个类仍然可以执行getList().remove(element),从而在外部修改列表,而该类并没有注意到列表已被修改。
到目前为止,列表是公共的,因为我希望我的列表可以从任何地方公开读取。但是,我只想让拥有该列表的类能够修改它。因此,不允许从外部类进行修改。这是否可能?如果可能,怎么做?
通常,为了进行访问控制,您可能会使用getter和setter方法。但即使使用getter方法并将列表设置为私有,另一个类仍然可以执行getList().remove(element),从而在外部修改列表,而该类并没有注意到列表已被修改。