Sobes.tech
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(); // возвращаем копию, чтобы защитить внутреннее состояние
    }
}

Такой подход гарантирует, что изменения массива, полученного через геттер, не повлияют на внутреннее состояние объекта.