假设一个类有一个 ArrayList 属性:
private ArrayList<Object> objects;
是否有可能为这个属性设置一个 setter / mutator 方法,如下所示:
public void setObjects(ArrayList<Object> objects) {
this.objects = objects;
}
还是因为 Java 的处理方式,您必须做一些更复杂的事情?
我尝试使用以下两个类自己进行测试:
测试.java
import java.util.*;
public class Test {
private ArrayList<String> strings;
public Test() {
strings = new ArrayList<String>();
}
public ArrayList<String> getStrings() {
return this.strings;
}
public void setStrings(ArrayList<String> strings) {
this.strings = strings;
}
}
测试测试.java
import java.util.*;
public class testTest {
public static void main(String[] args) {
ArrayList<String> strings = new ArrayList<String>();
strings.add("One");
strings.add("Two");
strings.add("Three");
Test test = new Test();
test.setStrings(strings);
System.out.println("First get() of index 0: "+test.getStrings().get(0));
System.out.println("Modifying test's strings object...");
test.getStrings().set(0, "1");
System.out.println("First get() of index 0: "+test.getStrings().get(0));
System.out.println("Change it back... using strings variable");
test.setStrings(strings);
System.out.println("First get() of index 0: "+test.getStrings().get(0));
}
}
输出:
索引 0 的第一个 get():一个
修改测试的字符串对象...
索引 0 的第一个 get():1
改回来...使用字符串变量
索引 0 的第一个 get():1
最后一个打印语句应该显示第一个索引是 "One" 。
那么,有什么想法可以实现我的初衷吗?