Представьте, что у меня есть этот класс:
public class Test
{
private String[] arr = new String[]{"1","2"};
public String[] getArr()
{
return arr;
}
}
Теперь у меня есть другой класс, который использует вышеуказанный класс:
Test test = new Test();
test.getArr()[0] ="some value!"; //!!!
Итак, это проблема: я получил доступ к закрытому полю класса извне! Как я могу это предотвратить? Я имею в виду, как я могу сделать этот массив неизменным? Означает ли это, что с каждым методом getter вы можете работать, чтобы получить доступ к частному полю? (Я не хочу никаких библиотек, таких как Guava. Мне просто нужно знать, как правильно это сделать).