Java で getter メソッドを使用することについて質問があります。このクラスがあるとします:
class Test {
private ArrayList<String> array = new ArrayList<String>();
public ArrayList getArray() {
return this.array;
}
public void initArray() {
array.add("Test 1");
array.add("Test 2");
}
}
class Start {
public static void main(String args[]) {
initArray();
getArray().remove(0);
}
}
私の質問は:
実際の arraylist オブジェクトは変更されますか ("Test 1" が削除されます)。これはどこかで見たことがあると思いますが、ゲッターは単にそのオブジェクトのコピーを提供しているだけだと思いました。それへの参照ではありません。(参照として) そのように機能した場合、これも同様に機能します (クラス Test の arraylist オブジェクトもこれによって変更されますか?):
class Start {
public static void main(String args[]) {
initArray();
ArrayList aVar = getArray();
aVar.remove(0);
}
}