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

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

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

    tinguo002

     

    ArrayList的toArray(轉)


    http://www.cnblogs.com/ihou/archive/2012/05/10/2494578.html

    ArrayList提供了一個將List轉為數組的一個非常方便的方法toArray。toArray有兩個重載的方法:

    1.list.toArray();

    2.list.toArray(T[]  a);

    對于第一個重載方法,是將list直接轉為Object[] 數組;

    第二種方法是將list轉化為你所需要類型的數組,當然我們用的時候會轉化為與list內容相同的類型。

    不明真像的同學喜歡用第一個,是這樣寫:

    1
    2
    3
    4
    5
    6
    7
    ArrayList<String> list=new ArrayList<String>();
            for (int i = 0; i < 10; i++) {
                list.add(""+i);
            }
           
            String[] array= (String[]) list.toArray();
          

    結果一運行,報錯:

    Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;

    原因一看就知道了,不能將Object[] 轉化為String[].轉化的話只能是取出每一個元素再轉化,像這樣:

    1
    2
    3
    4
    5
    Object[] arr = list.toArray();
            for (int i = 0; i < arr.length; i++) {
                String e = (String) arr[i];
                System.out.println(e);
            }

    所以第一個重構方法就不是那么好使了。

    實際上,將list世界轉化為array的時候,第二種重構方法更方便,用法如下:

    1
    2
    String[] array =new String[list.size()];
            list.toArray(array);<br><br>另附,兩個重構方法的源碼:

    1.
    public Object[] toArray(); {
    Object[] result = new Object[size];
    System.arraycopy(elementData, 0, result, 0, size);;
    return result;
    }

    2.

    public Object[] toArray(Object a[]); {
    if (a.length < size);
    a = (Object[]);java.lang.reflect.Array.newInstance(
    a.getClass();.getComponentType();, size);;
    System.arraycopy(elementData, 0, a, 0, size);;

    if (a.length > size);
    a[size] = null;

    return a;
    }

    1
    <br><br>
    1
    2
    <br>
      


    歡迎大家訪問我的個人網站 萌萌的IT人

    posted on 2013-07-04 11:52 一堣而安 閱讀(248) 評論(0)  編輯  收藏 所屬分類: java

    導航

    統計

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    收藏夾

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 91精品国产免费久久国语麻豆| 国产99久久久国产精免费| 99久久久国产精品免费蜜臀| 一本久久a久久精品亚洲| 国产一二三四区乱码免费| 国产AV无码专区亚洲AWWW| 9久热这里只有精品免费| 亚洲人成人网站色www| 国产午夜不卡AV免费| 久久久久亚洲Av片无码v | 亚洲一区二区在线免费观看| 免费萌白酱国产一区二区三区| 亚洲国产精品成人精品无码区| 中文字幕日本人妻久久久免费| 亚洲激情视频在线观看| 18级成人毛片免费观看| 99久久婷婷国产综合亚洲| 免费看韩国黄a片在线观看| 亚洲日韩乱码中文字幕| 免费一级e一片在线播放| 毛片基地看看成人免费| 久久久久亚洲AV片无码| 无人在线直播免费观看| 国产成人精品免费视频动漫| 亚洲H在线播放在线观看H| 中文字幕版免费电影网站| 久久水蜜桃亚洲av无码精品麻豆| 日韩在线播放全免费| 女bbbbxxxx另类亚洲| 亚洲国产成人片在线观看无码| 永久免费视频网站在线观看| 亚洲欧美日韩中文无线码| 久久精品国产亚洲AV不卡| 亚洲精品免费视频| 亚洲中文字幕一二三四区| 亚洲国产成人VA在线观看| 亚洲日本一线产区和二线产区对比| 波多野结衣免费视频观看| 国产成人精品免费久久久久| 亚洲国产无线乱码在线观看| 区三区激情福利综合中文字幕在线一区亚洲视频1 |