Junior — Middle
96
Ինչպե՞ս կարելի է ապահովել, որ getter-ով վերադարձվող զանգվածը դուրսից փոխել հնարավոր չլինի։
Ընկերությունները, որտեղ հարցրել են
Պատասխան AI-ից
sobes.tech AI
Чтобы массив, возвращаемый через геттер, нельзя было изменить извне, нужно возвращать не сам внутренний массив, а его копию. Иначе внешний код получит ссылку на тот же массив и сможет изменить его содержимое.
Пример:
public class MyClass {
private int[] data;
public MyClass(int[] data) {
this.data = data.clone(); // копируем при сохранении
}
public int[] getData() {
return data.clone(); // возвращаем копию, чтобы защитить внутреннее состояние
}
}
Такой подход гарантирует, что изменения массива, полученного через геттер, не повлияют на внутреннее состояние объекта.