java中关于Hashtable的问题(求救)(50分)

  • 主题发起人 主题发起人 helloqiner
  • 开始时间 开始时间
H

helloqiner

Unregistered / Unconfirmed
GUEST, unregistred user!
我将一个Hashtable a做为一个object存入另一个Hashtable b中,可是当我修改了a的值以后,再将b中存的那个Hashtable取出时,发现取出的Hashtable也跟着a进行了修改。
高人们有没有什么办法能让a修改后,b中存放的Hashtable不做变动呢?我实再没招啦。
 
估计你是这样写的:
import java.util.Hashtable;
Hashtable a=new Hashtable();
a.put("aaa","aaaaaa");
Hashtable b=new Hashtable();
b.put("bb",a);
a.put("aaa","bbbb");
System.out.print(((Hashtable)b.get("bb")).get("aaa"));

而你想要的应该:

Hashtable a=new Hashtable();
a.put("aaa","aaaaaa");
Hashtable b=new Hashtable();
b.put("bb",(Hashtable)a.clone());//需要克隆出来,
//这样它们才不会使用同一个引用。
a.put("aaa","bbbb");
System.out.print(((Hashtable)b.get("bb")).get("aaa"));

 
接受答案了.
 
后退
顶部