• 集合与数组之间相互转化


    https://blog.csdn.net/zhuwentao2150/article/details/51713565

    本文转自上述链接

    数组转换成List集合

    • 方法一 
      笨方法就是通过add把数组中的数据循环添加到List集合中
     List<String> mlist = new ArrayList<>();
        String[] array = new String[] {"zhu", "wen", "tao"};
        // String数组转List集合
        for (int i = 0; i < array.length; i++) {
            mlist.add(array[i]);
        }
        // 输出List集合
        for (int i = 0; i < mlist.size(); i++) {
            System.out.println("mlist-->" + mlist.get(i));
        }
    • 方法二 
      采用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));
        }

    List集合转换成数组

    • 方法一 
      笨方法是把List中的数据循环添加到数组中
    • 方法二 
    • 采用集合的toArray()方法直接把List集合转换成数组,这里需要注意,不能这样写: 
    • String[] array = (String[]) mlist.toArray(); 
      这样写的话,编译运行时会报类型无法转换java.lang.ClassCastException的错误,这是为何呢,这样写看起来没有问题啊 
      因为java中的强制类型转换是针对单个对象才有效果的,而List是多对象的集合,所以将整个List强制转换是不行的 
      正确的写法应该是这样的
        List<String> mlist = new ArrayList<>();
        mlist.add("zhu");
        mlist.add("wen");
        mlist.add("tao");
        String[] array = new String[mlist.size()];
        // List转换成数组
        for (int i = 0; i < mlist.size(); i++) {
            array[i] = mlist.get(i);
        }
        // 输出数组
        for (int i = 0; i < array.length; i++) {
            System.out.println("array--> " + array[i]);
        }
     
    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等不是对象,所以需要用字段的对应对象类



  • 相关阅读:
    Ecommerce 3.0雏形出现
    网上购物折扣如此红火
    [ZZ]将测试人员整合到敏捷团队中
    晒工资网——Glassdoor
    [ZZ].NET自动探索式测试工具——Pex
    [ZZ]好的测试应该具备哪些特质?
    我用到的Firefox插件
    [ZZ]WatiN & Selenium RC-自动化测试工具比较
    [ZZ]高盛:Amazon预计10年营收涨10倍达台币3兆元
    从优惠券到维络卡
  • 原文地址:https://www.cnblogs.com/minmin123/p/11418453.html
Copyright © 2020-2023  润新知