原贴太长,重新开贴:
http://community.csdn.net/Expert/topic/4056/4056848.xml?temp=.7735102
如何完全克隆一个HashMap包括 key 和 value。
我尝试枚举出里面的所有value,但Objdect类还是无法克隆。哪位有办法?

解决方案 »

  1.   

    是不是楼住涉及到
    多少深度(层次)clone才比较合适?
    这个好像没有什么好办法。依靠程序来决定.除非都是 primitive type,或者每个hashmap 中的key ,value对象,都有clone方法
    而且这种东西,很不好说,比如 value是List之类的就更麻烦了。
      

  2.   

    不好意思,看错了,原来是完全clone,呵呵……
      

  3.   


      深层次clone是比较麻烦的,这要看你具体clone 什么对象了,目前还没有共同的方法
    象hashmap,如果里面还有级联引用 ,只有自己写了
      

  4.   

    先不考虑级联的情况,假设每一个value里面的类都有自己的clone方法。
      

  5.   

    本来不想说什么了"先不考虑级联的情况,假设每一个value里面的类都有自己的clone方法。"虽有有这个前提,但还是不能 deep clone,你必需香知道具体的类型,因为clone是Object类的protected方法,不知道具体的类,是没办法调用clone方法
      

  6.   

    唉,要是直接能调用clone我就不用发贴文了。
      

  7.   

    HashMap hp = new HashMap(oldMap);这个方法如何
      

  8.   

    就是问怎么写?
    怎么直接clone Object 类?
      

  9.   

    要是能像你那样说的可以实现的话,我想SUN公司的开发人员一定把clone()实现之后再放到HashMap()的API中,而不是让我们自己来实现!
      

  10.   

    I want to be the last.