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

    隨筆分類

    隨筆檔案

    收藏夾

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 精品国产sm捆绑最大网免费站| 成人影片麻豆国产影片免费观看| 日本高清免费观看| 99爱在线精品免费观看| 亚洲一卡2卡三卡4卡有限公司| 亚洲jizzjizz少妇| 国产精品国产免费无码专区不卡| 亚洲中文字幕一二三四区| 四虎影院免费视频| 国产aⅴ无码专区亚洲av| 国产一二三四区乱码免费| 好看的电影网站亚洲一区| 亚洲国产精品成人午夜在线观看| 女人被弄到高潮的免费视频 | 成全视频在线观看免费高清动漫视频下载| 国产免费av一区二区三区| 亚洲av乱码中文一区二区三区| 午夜神器成在线人成在线人免费| 午夜亚洲国产理论片二级港台二级 | 亚洲一区二区三区在线网站 | 亚洲成av人片天堂网老年人| 岛国精品一区免费视频在线观看| 亚洲av中文无码乱人伦在线播放| 精品熟女少妇a∨免费久久| 亚洲精品国自产拍在线观看| 三级网站免费观看| 亚洲精品一卡2卡3卡三卡四卡| 最近中文字幕mv免费高清电影 | 亚洲电影免费在线观看| 日韩在线观看免费| 好爽又高潮了毛片免费下载| 日本高清不卡中文字幕免费| 久久久青草青青亚洲国产免观| 美女被cao免费看在线看网站| 相泽南亚洲一区二区在线播放| 亚洲精品美女久久777777| AA免费观看的1000部电影| 无码的免费不卡毛片视频| 久久精品国产精品亚洲艾| 免费看美女被靠到爽的视频| 亚洲国产乱码最新视频|