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. Codeforces Gym 100733J Summer Wars 线段树,区间更新,区间求最大值,离散化,区间求并

    Summer WarsTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.a ...

  2. CSS里的单位

    CSS中预设了16种颜色以及16种颜色的衍生色,这16种颜色是CSS规范推荐的.并且一些主流的浏览器都可以识别.例如以下表所看到的: 十六进制颜色是最经常使用的定义方式.它的基本格式为#RRGGBB, ...

  3. U盘安装Win7 64位系统(笔记本+台式机亲测)

    准备工具: 1. Win7 64位系统的镜像文件(网上随便一搜即可,最好是纯净版,没有一堆乱七八糟的内置软件) 2. 4G以上的U盘一个 所用软件: 老毛桃(官网下载) 具体步骤: 1.数据备份(将原 ...

  4. 使用IIS 7.0 Smooth Streaming 优化视频服务

    http://www.cnblogs.com/dudu/archive/2013/06/08/iis_webserver_settings.html (支持高并发的IIS Web服务器常用设置) ht ...

  5. Discuz!X/模板标签说明

    Discuz 模板标签说明 Discuz! 的模板采用近似 PHP 表达式的语法,基本都是可识别的HTML,但涉及到变量和动态内容时,基本形式下: <!-{ 代码内容 }-> 逻辑元素包围 ...

  6. Debian下MySQL配置

    1 安装 $ apt-get install mysql-server $ apt-get install mysql-client 2 修改MySQL的口令 一般上一步会让你输入root密码,如果没 ...

  7. 中兴电信光纤猫F612管理员密码获取方法

    1.telnet 192.168.1.1 账号:root 密码:Zte521 2.输入命令: sendcmd 1 DB p DevAuthInfo 得到管理员账号密码如下: <DM name=& ...

  8. Java(Android)编程思想笔记02:组合与继承、final、策略设计模式与适配器模式、内部类、序列化控制(注意事项)

    1.组合和继承之间的选择 组合和继承都允许在新的类中放置子对象,组合是显式的这样做,而继承则是隐式的做. 组合技术通常用于想在新类中使用现有类的功能而非它的接口这种情形.即在新类中嵌入某个对象,让其实 ...

  9. SSIS 学习(3):数据流任务(下)【转】

    前一篇文章SSIS 学习(2):数据流任务(上), 介绍了如何创建一个简单的ETL包,如何通过一个简单的数据流任务,将一个文本文件的数据导入到数据库中去.这些数据都保持了它原有的本色,一个字符不 多, ...

  10. Recovery启动流程(2)---UI界面

    转载请注明来源:cuixiaolei的技术博客 Recovery启动流程系列文章把recvoery目录下文件分成小块讲解,最后再以一条主线贯穿所有的内容.这篇文章主要讲解Recovery-UI的相关内 ...