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