先上代码:
import java.util.ArrayList;
import java.util.List;
public class TestList {
public static void main(String args[]){
List<Student1> list = new ArrayList<>();
Student1 xiaozhu = new Student1("aa");
list.add(xiaozhu);
System.out.println("第一次获取:"+list.get(0).getName());
xiaozhu.setName("bb");
System.out.println("第二次获取:"+list.get(0).getName());
}
}
class Student1{
String name;
public Student1(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
}
结果如下:
我们们创建一个只有一个name属性的Student1类,然后再main方法中新建一个List集合,新建一个Student1对象,并将其加入到List中,然后从List中获取并打印其名字。然后我们再设置这个Student1对象的名字属性,然后再次从从List中获取并打印其名字,我们发现两次的结果并不相同。
结论:我们改变List中对象属性后,List也会发生相应的改变。因为List收集到的对象后,并没有改变对象的存储位置。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)