HashMap怎么复制

cheny 2003-09-30 04:33:50
如下程序:
HashMap a=new HashMap();
a.put("..",obj);
HashMap b=new HashMap();


请问怎么把a复制到b???
如果b=a 好象仅仅是b指向a,没有把数据复制到b;

...全文
1435 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zuifeng83 2010-06-24
  • 打赏
  • 举报
回复
那最后的解决方法是?
Schlemiel 2003-09-30
  • 打赏
  • 举报
回复
为什么一定要把数据copy到新的map里去?给个理由先。这又不是C++,对象脱离作用域就会被销毁。直接把map的引用拿去用不就行了吗?
jacklondon 2003-09-30
  • 打赏
  • 举报
回复
b.putAll(a);
或者
HashMap b = (HashMap)a.clone();
binny 2003-09-30
  • 打赏
  • 举报
回复
浅克隆
whyxx 2003-09-30
  • 打赏
  • 举报
回复
这种clone是不行的,比如说map里有一个域是list,这种clone以后,实际上两个map是共用同一个list,最好还是遍历一个object,一个object的clone,遇到集合类要再深入进去clone
ludingping 2003-09-30
  • 打赏
  • 举报
回复
不知道这个克隆是浅克隆还是深克隆呀。

你也没有说清楚,是在什么样的克隆。
wangsheng1028 2003-09-30
  • 打赏
  • 举报
回复
it's easy
HashMap b = (HashMap)a.clone();
希偌 2003-09-30
  • 打赏
  • 举报
回复
HashMap a=new HashMap();
a.put("..",obj);
HashMap b=(HashMap)a.clone();

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧