永发信息网

关于hashtable clone()函数

答案:2  悬赏:30  手机版
解决时间 2021-01-08 02:25
  • 提问者网友:爱唱彩虹
  • 2021-01-07 04:00
关于hashtable clone()函数
最佳答案
  • 五星知识达人网友:山河有幸埋战骨
  • 2021-01-07 04:50
就是说他是一个浅(shallow)克隆,它本身的内容是克隆的,但是其中引用到对象(包括键和值)没有进行克隆,就是说,如果Hashtable B是 A的克隆,A中有一对key1--value1,B中也会有key1--value1,但B中的key1和value1和A中的是使用的同一个地址,就是做B中的key1实际上还是指向了A中的key1。
全部回答
  • 1楼网友:野慌
  • 2021-01-07 05:35
import java.util.Hashtable;
public class Test8 {
public static void main(String[] args) {
int a1 = 1, a2 = 2;
Hashtable hashparm = new Hashtable();
hashparm.put("a", a1);
hashparm.put("b", a2);
Hashtable tem = (Hashtable) hashparm.clone();
System.out.println(hashparm == tem);
System.out.println(hashparm.get("a") == tem.get("a"));
}
}
这样也许会更直观,第一输出的是false,说明他们在内存中是不同的2个地址,也就是说实现了clone,但是后面的输出的是true说明他并没有重新创建key和value的对象,只是把地址的引用交给了tem,实际上并没有被复制
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯