1. ArrayList转Array

    (1):使用ArrayList的toArray方法。

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

        /**

         * 使用了ArrayList的toArray方法 ,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),成功

    /**

         * 使用了ArrayList的toArray方法 , 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. Array转ArrayList

    (1):使用Arrays的asList方法。

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

    /**

    * 使用Arrays的asList方法,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),不成功

    /**

         * 使用Arrays的asList方法,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[],这样内容就成了对象数组(即引用类型)。

    /**

         * 使用Arrays的asList方法,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

     

     

    参考文献:

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

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

ArrayList和Array之间的转换的更多相关文章

  1. ArrayList和List之间的转换

    开发中不免碰到List与数组类型之间的相互转换,举一个简单的例子: package test.test1; import java.util.ArrayList; import java.util.L ...

  2. Java-Collection、Map及Array之间的转换

    1 List -> Map 设个User类: public class User { private String userName; private String userId; privat ...

  3. Java-Collection、Map和Array之间的转换

    1 List -> Map 设个User类: public class User { private String userName; private String userId; privat ...

  4. C#中ArrayList 、Array与、string、string[]数组的相关转换

    一.ArrayList 与 string.string[]数组的转换 1.ArrayList 转换为 string[] : ArrayList list = new ArrayList(); list ...

  5. 37.Activity之间的转换以及数据的传递(Intent)学习

      Intent简介:                                                                                在一个Androi ...

  6. JAVA中list,set,数组之间的转换详解

    JAVA的list,set,数组之间的转换,主要是使用Apache Jakarta Commons Collections,具体的方法如下:import org.apache.commons.coll ...

  7. Java 集合 集合与数组之间的转换

    Java 集合 集合与数组之间的转换 @author ixenos 数组转集合 Arrays.asList(T... a) 先给结论:用 Arrays.asList(T... a) 将数组转换成集合 ...

  8. java中 列表,集合,数组之间的转换

    java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 java中 列表,集合,数组之间的转换 List和Set都是接口,它们继承Collection(集合),集合里面任何数据 ...

  9. JSON字符串和JS对象之间的转换

    JSON字符串和JS对象之间的转换 1 json字符串转换为js对象 1.1 标准json格式字符串转换为Js对象  JSON字符串 str JSON.parse(str) eval(str) eva ...

随机推荐

  1. Hdu 5568 sequence2 高精度 dp

    sequence2 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=556 ...

  2. mbstowcs_s实现wchar_t转成char

    把char*转换为wchar_t* 用stdlib.h中的mbstowcs_s函数,可以通过下面的例子了解其用法: char*CStr = "string to convert"; ...

  3. Effective C++ Item 29 为”异常安全”而努力是值得的

    本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 经验:异常安全函数即使发生异常也不会泄漏资源或同意不论什么数据结构败坏.这种函数区分为三种 ...

  4. iOS开发——网络Swift篇&JSON与XML数据解析

    JSON与XML数据解析 JSON数据解析(内置NSJSONSerialization与第三方JSONKit)   一,使用自带的NSJSONSerialization 苹果从IOS5.0后推出了SD ...

  5. MySQL · 引擎特性 · InnoDB 事务子系统介绍

    http://mysql.taobao.org/monthly/2015/12/01/ 前言 在前面几期关于 InnoDB Redo 和 Undo 实现的铺垫后,本节我们从上层的角度来阐述 InnoD ...

  6. Ruby on Rails Tutorial 第四章 Rails背后的Ruby 之 字符串

    1.辅助方法 2.字符串 输入“irb”进入Ruby命令行开发环境,控制器的启动方法是在命令行中执行“rails console”. (1)字符串连接 >>"foo"+ ...

  7. LeetCode: Reverse Words in a String:Evaluate Reverse Polish Notation

    LeetCode: Reverse Words in a String:Evaluate Reverse Polish Notation Evaluate the value of an arithm ...

  8. Linux(Debian) vps安装gnome桌面+VNC

      昨天转载了一篇关于在Linux VPS上安装xface桌面并VNC连接的文章,因为文章是基于CentOS系统来操作的,有热心读者希望有一个Debian下的类似的东西,这就促成了今天的这篇文字.需要 ...

  9. 探索 ConcurrentHashMap 高并发性的实现机制--转

    ConcurrentHashMap 是 Java concurrent 包的重要成员.本文将结合 Java 内存模型,来分析 ConcurrentHashMap 的 JDK 源代码.通过本文,读者将了 ...

  10. IDEA 编译错误:java: try-with-resources is not supported in -source 1.6 (use -source 7 or higher to enable try-with-resources)

    错误描述 在用IDEA编译别人的项目的时候遇到下面的错误: java: try-with-resources is not supported in -source 1.6 (use -source ...