Я использую ArrayList в одном из классов моего проекта Java. Класс отслеживает, был ли изменен список, и предлагает общедоступные методы для добавления и удаления элементов из списка, которые автоматически устанавливают переменную как измененную.
Пока список является общедоступным, потому что я хочу, чтобы мой список был доступен для чтения отовсюду. Но я хочу, чтобы класс, которому принадлежит список, мог его изменить. Так что никаких модификаций извне классов. Это возможно? Если да, то как?
Обычно для управления доступом вы, вероятно, используете методы получения и установки. Но даже с методом получения и списком, установленным как частный, другой класс все равно может выполнить getList().remove(element)
и, таким образом, изменить список извне, так что класс не заметит, что список был изменен.