Junior — Middle
101
Kuidas tagada, et getteriga tagastatud massiiv ei saaks väljastpoolt muuta?
Ettevõtted, kust küsiti
Vastus AI-lt
sobes.tech AI
Чтобы массив, возвращаемый через геттер, нельзя было изменить извне, нужно возвращать не сам внутренний массив, а его копию. Иначе внешний код получит ссылку на тот же массив и сможет изменить его содержимое.
Пример:
public class MyClass {
private int[] data;
public MyClass(int[] data) {
this.data = data.clone(); // копируем при сохранении
}
public int[] getData() {
return data.clone(); // возвращаем копию, чтобы защитить внутреннее состояние
}
}
Такой подход гарантирует, что изменения массива, полученного через геттер, не повлияют на внутреннее состояние объекта.