Java_集合操作_使用细节
来源:互联网 发布:百度地图 数据开放 编辑:程序博客网 时间:2024/05/31 13:15
细节一:集合中存储的其实都是对象的引用而非对象本身
package test;import java.util.ArrayList;import java.util.List;public class test {public static void main(String args[]) {List<User> userList1 = new ArrayList<User>();List<User> userList2 = new ArrayList<User>();User user1 = new User();userList1.add(user1);userList2.add(user1);System.out.println("SET VALUE FOR USERLIST2:");for (User user : userList2) {user.setName("name");user.setPassword("password");}System.out.println("PRINT VALUE FOR USERLIST1:");for (User user : userList1) {System.out.println(user.getName());System.out.println(user.getPassword());}}public static class User {private String name;private String password;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}}输出:
SET VALUE FOR USERLIST2:
PRINT VALUE FOR USERLIST1:
name
password
设置userList2中元素的value,但是userList1中元素的value也发生了改变,证明集合中存放的是对象的引用。
细节二:集合中不能存储基本数值,但JDK1.5之后可以这样写,因为java会将基本数值自动装箱成为对象再将对象的引用存入集合中。
package test;import java.util.ArrayList;import java.util.Collection;public class test {public static void main(String args[]) {Collection coll = new ArrayList();coll.add(1);// 将编译后的class文件反编译可以看出等同于coll.add(Integer.valueOf(1));}}
0 0
- Java_集合操作_使用细节
- Java_集合操作_非稳定排序推荐使用List
- Java_集合操作_遍历集合方法
- Java_集合操作_反转集合
- Java_集合操作_关系图
- Java_集合操作_清空list
- Java_集合操作_合并两个map
- Java_集合操作_集合运算时使用更优雅的方式
- Java_数组操作_基本定义及细节
- Java_集合操作_使集合乱序
- Java_集合操作_集合中的哈希码不要重复
- java_基础_集合
- java_集合_总结
- Java_集合操作_数组转换为List
- Java_集合操作_复制list到另一list中
- Java_集合操作_多种最值算法,适时选择
- Java_集合操作_关于subList,子列表
- Java_集合_集合转化为数组
- cvpr常用资源整理
- redis中有序集合类型和列表类型的不同点与相同点
- 2018——思路值得借鉴
- java工程积累——tcp/ip连接
- 为什么寄存器比内存快?
- Java_集合操作_使用细节
- 分布式缓存系统Memcached(七)——半同步/半异步模式
- 常见web前台技术之间的关系html,css,javascript...
- Android一个APK多个入口(多个桌面图标)的实现
- 全志行车记录仪里面FireEyepublic.apk反编译的分析(六)——时间水印分析(2)
- 奇偶行显示不同样式操作,CSS3 :nth-child()伪类选择器
- Apache Ant 项目名称的由来
- MacBook Air无电源合盖外接显示器休眠解决方案
- List list = new ArrayList();