このクラスがあると想像してください:
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などのライブラリは必要ありません。これを行う正しい方法を知る必要があるだけです)。