У меня вопрос об использовании методов getter в java. Предположим, что у меня был этот класс:
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 ( "Тест 1" удален из него)? Я думаю, что видел это в разных местах, но я думал, что геттеры просто предоставляют копию этого объекта. Не ссылка на него. Если бы это сработало так (как ссылка), то это тоже сработало бы (не изменил бы и объект arraylist класса Test)?:
class Start {
public static void main(String args[]) {
initArray();
ArrayList aVar = getArray();
aVar.remove(0);
}
}