在java的list 中存放的是对象的引用,
比如: User u=new User();
u.setId(1);
u.setUserName("tangwensheng");
List<User> list=new ArrayList<User>();
list.add(u);
list的add(Object obj)的操作就相当于 User u1=u; 然后在把u1存放到数组中
所以list中引用和u的引用是一样, 是同一块内存地址 所以u 修改了内存中的对象的属性值 list中的引用的对象的值也变化了, 但是如果 u=null 跟list中的元素(对象引用)是没有关系的
就好像 再声明了一个对象的引用 User u1=u 的道理是一样的。
比如: User u=new User();
u.setId(1);
u.setUserName("tangwensheng");
List<User> list=new ArrayList<User>();
list.add(u);
list的add(Object obj)的操作就相当于 User u1=u; 然后在把u1存放到数组中
所以list中引用和u的引用是一样, 是同一块内存地址 所以u 修改了内存中的对象的属性值 list中的引用的对象的值也变化了, 但是如果 u=null 跟list中的元素(对象引用)是没有关系的
就好像 再声明了一个对象的引用 User u1=u 的道理是一样的。
Java集合操作与对象引用特性
本文详细解析了Java集合框架中的对象引用机制,重点阐述了List存储对象引用的原理,以及修改对象内部属性对引用的影响。通过实例分析,帮助读者理解对象引用与集合之间的紧密联系。
5871

被折叠的 条评论
为什么被折叠?



