Jor*_*s10 20 java arraylist getter-setter
我有一个关于在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);
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:
是否会修改实际的arraylist对象(从中删除"Test 1")?我想我已经在某些地方看过这个,但我认为吸气剂只是提供了该物体的副本.不是对它的引用.如果它确实以这种方式工作(作为参考),那么这也会起作用(类Test的arraylist对象也会被这个改变)吗?:
class Start {
public static void main(String args[]) {
initArray();
ArrayList aVar = getArray();
aVar.remove(0);
}
}
Run Code Online (Sandbox Code Playgroud)
gre*_*dha 26
Java返回对Array的引用,因此它不是副本,它将修改List.通常,除非它是基本类型(int,float等),否则您将获得对该对象的引用.
如果要返回重复项,则必须自己显式复制数组.
| 归档时间: |
|
| 查看次数: |
9274 次 |
| 最近记录: |