the*_*tna 0 java clone hashmap
我有一个Hashmap <integer, Arraylist<Double>>.我想复制一份.我在考虑使用clonehashmap的方法.经过javadoc后,它说:
clone
Returns a shallow copy of this HashMap instance: the keys and values themselves are not cloned.
Run Code Online (Sandbox Code Playgroud)
这个浅拷贝是什么意思?我想要一个单独的矩阵,其值在更新原始矩阵的值时不会改变.
为什么呢,
if( hm1 == hm1.clone())
Run Code Online (Sandbox Code Playgroud)
返回false?
浅拷贝意味着只创建了新的map对象,但是没有克隆它的值,即拷贝包含对旧条目的引用.因此,要"深度克隆"您需要执行的地图:
因为==比较对象引用,而不是地图的内容.
| 归档时间: |
|
| 查看次数: |
625 次 |
| 最近记录: |