<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)

    隨筆分類

    隨筆檔案

    收藏夾

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲啪AV永久无码精品放毛片 | 亚洲视频一区在线播放| 野花视频在线官网免费1| 国产高清在线免费视频| 亚洲国产成人久久综合| 成人免费毛片观看| 亚洲欧美国产日韩av野草社区| 日本亚洲免费无线码| 亚洲人成7777影视在线观看| 成人免费的性色视频| 亚洲av无码一区二区三区观看| 成人无码区免费A片视频WWW| 亚洲免费在线视频播放| 国产精品69白浆在线观看免费| 亚洲最大的黄色网| 精品国产免费一区二区| 久久亚洲中文字幕无码| 亚洲日本va午夜中文字幕久久| 国产日韩在线视频免费播放| 亚洲精品狼友在线播放| 亚洲免费视频在线观看| 亚洲午夜电影在线观看高清| 国内外成人免费视频| 在线观看亚洲免费视频| 国产AV无码专区亚洲AV漫画| 久草视频在线免费看| 亚洲人成人77777在线播放| 国产精品成人四虎免费视频| 一级毛片a免费播放王色电影 | 久久亚洲AV成人无码国产电影| www.91亚洲| 日韩人妻一区二区三区免费 | 国产精品亚洲av色欲三区| 亚洲国产成人精品女人久久久| 久久久久久久久久久免费精品| 亚洲VA中文字幕无码毛片| 无码精品A∨在线观看免费| 久久精品国产亚洲av天美18| 亚洲日韩精品一区二区三区| 麻豆视频免费播放| 日本高清免费中文在线看|