修改 getter 的结果是否会影响对象本身?
2022-09-02 03:37:33
我有一个关于在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);
}
}
我的问题是:
是否会修改实际的数组列表对象(从中删除“Test 1”)?我想我已经在一些地方看到了这一点,但我认为获取者只是提供了该对象的副本。不是对它的引用。如果它确实以这种方式工作(作为参考),那么这也有效吗(类Test的arraylist对象也会被这个改变吗)?
class Start {
public static void main(String args[]) {
initArray();
ArrayList aVar = getArray();
aVar.remove(0);
}
}