<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 一堣而安 閱讀(250) 評論(0)  編輯  收藏 所屬分類: java

    導航

    統計

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    收藏夾

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久国产高潮流白浆免费观看| 精品亚洲国产成人av| 在线观看免费黄色网址| 亚洲午夜精品一级在线播放放 | 四虎永久在线精品免费观看视频 | 亚洲一级毛片在线观| 国产精品久久永久免费| 亚洲av无码一区二区三区天堂古代| 久久精品无码专区免费东京热 | 一区二区三区视频免费观看| 亚洲欧洲中文日韩久久AV乱码| 免费国产高清毛不卡片基地| 免费大片黄手机在线观看| eeuss免费影院| 亚洲中文字幕无码永久在线| 国产午夜无码精品免费看| 久久精品国产亚洲av麻豆小说 | 免费国产成人午夜在线观看| 久久精品九九亚洲精品| 无码一区二区三区免费视频| 亚洲精品国产av成拍色拍| 免费大片黄手机在线观看| 中文成人久久久久影院免费观看| 久久精品国产亚洲AV高清热| 最近中文字幕mv手机免费高清| 国产av无码专区亚洲av毛片搜| 亚洲日韩中文在线精品第一| 日韩免费电影网站| 99久久婷婷国产综合亚洲| 亚洲第一区精品观看| 香港a毛片免费观看| 国产精品亚洲AV三区| 国产偷v国产偷v亚洲高清| 波多野结衣在线免费视频| 日本系列1页亚洲系列| 亚洲AV福利天堂一区二区三| 免费看韩国黄a片在线观看| caoporn国产精品免费| 精品亚洲成A人无码成A在线观看| 亚洲成网777777国产精品| 亚洲免费网站在线观看|