<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    simmone

    今天才知道deep clone這回事,慚愧

    今天的一段代碼:
    ??? List lista = new ArrayList();
    ??? /*
    ????賦值給lista
    ?? */

    ?? List listb = (ArrayList)((ArrayList)lista.clone());

    ?? /*
    ?? 用iterator取出內容進行修改
    ?? */

    ? 問題出現了:現在再用lista時,發現它的內容被修改過了。這是為什么呢?我??? 已clone()了呀。原來Java中List(包括Map等)的clone()執行的是shadow clone,也就是它只是拷貝了引用,如果將clone()后的內容進行了修改,它就會不知不覺中將原來的內容也進行了更改(其實就是一個)。
    解決方法:自己進行deep clone()
    List listb = new ArrayList();
    for(Iterator ie = lista.iterator();ie.hasNext();)
    {
    ??? Object a = (Object)ie.next();

    ??? Object b = new Object(a.get.., ..., ...);

    ??? listb.add(b);
    }

    注意:用List的addAll之類方法也是shadow clone


    posted on 2006-07-07 15:23 陳曉 閱讀(687) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    統計

    常用鏈接

    留言簿(1)

    隨筆檔案

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国内精品免费久久影院| 国产三级在线免费| 国产成人AV片无码免费| 国产片AV片永久免费观看| 亚洲国产一成久久精品国产成人综合 | 成人免费视频小说| 国产亚洲av片在线观看18女人| 亚洲精品在线免费观看| 高潮毛片无遮挡高清免费| 免费视频成人片在线观看| 免费二级毛片免费完整视频| 亚洲黄色网址在线观看| 一级做a爰片性色毛片免费网站| 麻豆国产精品免费视频| 不卡精品国产_亚洲人成在线 | 亚洲人成在线免费观看| 2022免费国产精品福利在线| 野花高清在线观看免费3中文 | 亚洲国产一区在线| 日韩精品无码免费视频| 日韩精品免费一级视频| 狠狠综合久久综合88亚洲| 亚洲欧美综合精品成人导航| 久9久9精品免费观看| 亚洲男女内射在线播放| 亚洲免费网站观看视频| 99re6热视频精品免费观看| 亚洲人成网站18禁止一区| 亚洲色丰满少妇高潮18p| 十八禁无码免费网站| 亚洲中文字幕在线乱码| 久久亚洲AV成人无码国产电影| 亚洲第一网站免费视频| 亚洲精品无码av人在线观看| 色欲aⅴ亚洲情无码AV| 免费看成人AA片无码视频羞羞网| 亚洲人成网站在线观看播放| 色多多免费视频观看区一区| 成全高清视频免费观看| 亚洲电影在线播放| 久久久久久久99精品免费|