...
你放入两个map的是同一个对象的引用,改变了对象,当然都会反映出来变化。
你放入两个map的是同一个对象的引用,改变了对象,当然都会反映出来变化。
解决方案 »
- 【求助】ssh 查询 视图 时快时慢 查了2天都没找出问题
- 如何将变量设置为未赋值状态
- myEclipse又卡死了
- 请问,如何尽量避免使用JSP标签,而使用Struts2标签实现隔行换色?
- 【求助】 hibernate 的查询问题
- 自己结合网上资料写的一个java图像灰度化程序,编译可以通过,但运行不行,请大家帮忙修改一下!谢谢!
- Struts中怎么向数据库插入数据啊!急急急急急急急急急急
- 救命啊 这个问题搞不出来我就被公司日拉
- hibernate关键字段自增的问题
- java大神我不信你能解决这个问题
- struts如何用Action设置表单值
- 使用struts2 对于hibernate spring jdk版本有没有要求?
if(map.containsKey("123")){
System.out.println("122");
}else{
System.out.println("000");
}
Map todayCustomerMap = new HashMap();
HashMap todayCustomerActionMap=new HashMap();
Collections.synchronizedMap(todayCustomerMap) ;
Collections.synchronizedMap(todayCustomerActionMap) ;
Dog dog=new Dog();
dog.setAge(12);
dog.setName("xiaoluo");
Dog dog1=new Dog();
dog1.setAge(15);
dog1.setName("xiaoluo1");
Dog dog2=new Dog();//新的对象
BeanUtils.copyProperties(dog,dog2);
Dog dog3=new Dog();//新的对象
BeanUtils.copyProperties(dog1,dog3);
todayCustomerMap.put("xiaoluo", dog2);
todayCustomerMap.put("xiaoluo1", dog3);
todayCustomerActionMap.put("xiaoluo", dog);
todayCustomerActionMap.put("xiaoluo1", dog1);
//这里从map中取出来,并作了修改
Dog dog03=(Dog)todayCustomerActionMap.get("xiaoluo");
//Dog dog03=new Dog();
dog03.setAge(12);
dog03.setName("aaa");
todayCustomerActionMap.put("xiaoluo", dog03);
Dog dog04=(Dog)todayCustomerActionMap.get("xiaoluo");//注意这个对象作了修改
Dog dog05=(Dog)todayCustomerMap.get("xiaoluo");//注意这个对象没有作任何修改
//这里发生了奇怪的事,dog05为什么也修改了?我不知道为什么?
System.out.println(dog04.getAge()+dog04.getName());
System.out.println(dog05.getAge()+dog05.getName());
if(dog04.equals(dog05)){//判断两个对象值是否相等
System.out.println("equal");
}else{
System.out.println("not equal");
}