【发布时间】:2014-12-20 17:55:43
【问题描述】:
我有以下代码:
podmienky.put(key, podmienkyOblast);
podmienkyOblast.clear();
podmienky 是 HashTable<String, ArrayList<String>> 和 podmienkyOblast 是 ArrayList<String>。如果我将podmienky.get("index").size() 放在podmienkyOblast.clear() 之前,它会返回6。但是,如果我将podmienky.get("index").size() 放在podmienkyOblast.clear() 之后,它会返回0。我认为如果我将某些内容放入哈希表中,我实际上会将其内容添加到其中。但正如我所见,它只存储对arrayList 的引用。我错了吗?我应该如何完成这项工作?
感谢转发
【问题讨论】:
-
是的,它只是存储引用 -- 你应该创建一个副本并自己保存
-
这就是它应该如何工作的。 “我应该如何完成这项工作”是什么意思?