码迷,mamicode.com
首页 > 编程语言 > 详细

List 与 数组 互转

时间:2015-09-21 21:15:51      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

1、List转数组

  采用API中的T[]   List.toArray(T[] a) 方法  ,不能直接使用  (T[])list.toArray()

  因为数组不能够直接强制转换,例如

        Object[] objs={"123","456"};
        String[] strings=(String[])objs;
        System.out.println(Arrays.toString(strings));
        List<String> list=new ArrayList<>();
        list.add("abc");
        list.add("deg");
        String[] strings=(String[])list.toArray();
        System.out.println(Arrays.toString(strings));

  这样会引发ClassCastException,

  所以不能直接采用这种方法  ,必须使用  toArray(new T[size]);这里的size可以是任意的数字

        List<String> list=new ArrayList<>();
        list.add("abc");
        list.add("deg");
        list.add("teg");
        String[] strings=(String[])list.toArray(new String[1]);
        System.out.println(Arrays.toString(strings));

 

2、数组转List

调用Arrays的asList方法.
asList
public static <T> List<T> asList(T... a)返回一个受指定数组支持的固定大小的列表。(对返回列表的更改会“直写”到数组。)此方法同 Collection.toArray 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。返回的列表是可序列化的,并且实现了 RandomAccess。
此方法还提供了一个创建固定长度的列表的便捷方法,该列表被初始化为包含多个元素:

     List stooges = Arrays.asList("Larry", "Moe", "Curly");
参数:
a - 支持列表的数组。
返回:
指定数组的列表视图。
另请参见:
Collection.toArray()

        String[] strings={"hello","world"};
        List<String> list=Arrays.asList(strings);
        System.out.println(list.toString());

[hello, world]

  

List 与 数组 互转

标签:

原文地址:http://www.cnblogs.com/maydow/p/4827108.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!