List集合與Array數組之間的互相轉換


1.數組轉換成List集合

采用java中集合自帶的asList()方法就可以完成轉換了
   String[] array = new String[] {"zhu", "wen", "tao"};
    // String數組轉List集合
    List<String> mlist = Arrays.asList(array);
    // 輸出List集合
    for (int i = 0; i < mlist.size(); i++) {
        System.out.println("mlist-->" + mlist.get(i));
    }

2.List集合轉換成數組

采用集合的toArray()方法直接把List集合轉換成數組,這里需要注意,不能這樣寫:
String[] array = (String[]) mlist.toArray();
這樣寫的話,編譯運行時會報類型無法轉換java.lang.ClassCastException的錯誤,這是為何呢,這樣寫看起來沒有問題啊
因為java中的強制類型轉換是針對單個對象才有效果的,而List是多對象的集合,所以將整個List強制轉換是不行的
正確的寫法應該是這樣的
String[] array = mlist.toArray(new String[0]);

List<String> mlist = new ArrayList<>();
    mlist.add("zhu");
    mlist.add("wen");
    mlist.add("tao");
    // List轉成數組
    String[] array = mlist.toArray(new String[0]);
    // 輸出數組
    for (int i = 0; i < array.length; i++) {
        System.out.println("array--> " + array[i]);
    }

    不管是數組轉換成集合,還是集合轉換成數組,都要注意轉換類型的一致性,String[]數組轉String類型的集合,當需要使用int,double等集合的時候,需要使用對應的對象
    如:數組int[]用Integer[],double[]用Double[] ,因為List集合是對象的集合,而int、double等不是對象,所以需要用字段的對應對象類

 

   引用材料:

   List集合與Array數組之間的互相轉換


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM