zoukankan      html  css  js  c++  java
  • 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数组之间的互相转换

  • 相关阅读:
    C#延时
    Java Applet 绘图
    C#调用ActiveX控件异常处理
    J2SE连连看
    基于对象的棋类程序结构设计
    MATLAB应用专题part2电力电子仿真技术
    MATLAB应用专题part1电力电子仿真技术
    硬件知识整理part2电阻在反馈网络中的应用
    C语言再学习part1宏观认识C语言
    C语言再学习part3—算法
  • 原文地址:https://www.cnblogs.com/Dream2hc/p/java51713565.html
Copyright © 2011-2022 走看看