zoukankan      html  css  js  c++  java
  • ArrayList和Array之间的转换

    1. ArrayListArray

      (1):使用ArrayListtoArray方法。

          1)当ArrayList中存放的是引用类型时(例如String),成功

          /**

           * 使用了ArrayListtoArray方法 ,ArrayList里存放的是String(引用类型)

           */

          @Test

          public void list2Array1() {

              ArrayList<String> arrayList = new ArrayList<String>();

              arrayList.add("1");

              arrayList.add("2");

              arrayList.add("3");

       

              Object[] array = arrayList.toArray(new String[3]);

       

              for (Object o : array) {

                  System.out.println(o);

              }

          }

      输出为:

      [1, 2, 3]

       

          2) ArrayList中存放的是基本数据类型时(例如int),成功

      /**

           * 使用了ArrayListtoArray方法 , ArrayList里存放的是int(基本数据类型)

           */

          @Test

          public void list2Array2() {

              ArrayList<Integer> arrayList = new ArrayList<Integer>();

              arrayList.add(1);

              arrayList.add(2);

              arrayList.add(3);

       

              Object[] array = arrayList.toArray();

       

              System.out.println(Arrays.toString(array));

          }

      输出为:

      [1, 2, 3]

    2. ArrayArrayList

      (1):使用ArraysasList方法。

      1)当Array中存放的是引用类型时(例如String),成功

      /**

      * 使用ArraysasList方法,Array中存放的String(引用类型)

      */

      @Test

      public void array2List1() {

          String[] stringArray = new String[] { "1", "2", "3" };

          List<String> list = Arrays.asList(stringArray);

       

          System.out.println(list);

      }

      输出为:

      [1, 2, 3]

       

          2) Array中存放的是基本数据类型时(例如int),不成功

      /**

           * 使用ArraysasList方法,Array中存放int(基本类型)

           */

          @Test

          public void array2List2() {

              int[] intArray = new int[] { 1, 2, 3 };

              List<int[]> intList = Arrays.asList(intArray);

       

              System.out.println(intList.size());

              for (int[] is : intList) {

                  System.out.println(Arrays.toString(is));

              }

          }

      输出为:

      [[I@14514713]

      List的长度为 : 1

      [1, 2, 3]

       

          这个问题解决的方法就是将int[]换成Integer[],这样内容就成了对象数组(即引用类型)。

      /**

           * 使用ArraysasList方法,Array中存放int(基本类型)

           */

          @Test

          public void array2List3() {

              Integer[] integerArray = { 1, 2, 3 };

              List<Integer> intList = Arrays.asList(integerArray);

       

              System.out.println(intList);

              System.out.println("List的长度为 : " + intList.size());

              for (Integer is : intList) {

                  System.out.println(is);

              }

          }

      输出为:

      [1, 2, 3]

      List的长度为 : 3

      1

      2

      3

       

       

      参考文献:

      java中数组与List相互转换的方法

      基本数据类型数组转换列表显的有些力不从心

  • 相关阅读:
    BZOJ 3105: [cqoi2013]新Nim游戏
    informatica增量抽取图文
    informatica ETL增量抽取(时间戳)
    kafka connector 使用总结以及自定义connector开发(×××××)
    Kafka Connect JDBC-Source 源连接器配置属性
    kafka-connect-jdbc-sink配置属性
    得到自1970年1月1日以来的秒数
    kafka-connect-jdbc(重要)
    confluent kafka-connect-jdbc(非常重要)
    kafka集群版 connectors 通过REST API实现控制
  • 原文地址:https://www.cnblogs.com/huangwenjie/p/5640626.html
Copyright © 2011-2022 走看看