1.数组转成List

数组转成List可以用方法 :Arrays.asList,一起来了解一下

 System.out.println(Arrays.asList(new String[] { "a", "b" }));

打印:[a, b]

List<Integer> asList2 = Arrays.asList(new Integer[] { 1, 2 });
System.out.println(asList2);

打印:[1, 2]

以下会得到非预期的结果

List<int[]> asList = Arrays.asList(new int[] { 1, 2 });
System.out.println(asList);

打印:[[I@4e25154f]

如果你打算将一个基本类型的数组转换为所对应的封装类型的list,使用Apache Commons Lang吧,可能你的项目正在使用它,类似下面这样使用ArrayUtils.toObject:

List<Integer> list = Arrays.asList(ArrayUtils.toObject(new int[] { 1, 2 }));
System.out.println(list);

打印:[1, 2]

注意使用工具类Arrays.asList()把数组转成集合时,不能使用其修改集合的相关方法,它的add/remove/clear方法会抛出java.lang.UnsupportedOperationException异常。asList的返回对象是一个Arrays内部类,并没有实现集合的修改方法,后台的数据仍是数组,对数组的修改会影响到集合:

String[] countries = { "China", "Russia", "American" };
List<String> asList3 = Arrays.asList(countries);
countries[2] = "France";
System.out.println(asList3);

打印:[China, Russia, France]

2.List转成数组

而List转成数组可以list的toArray(T[] array)方法,传入类型完全一样的数组,数组的大小传list.size()。

List<String> fruits = new ArrayList<String>();
fruits.add("Apple");
fruits.add("Pear");
fruits.add("Orange");
String[] array = fruits.toArray(new String[fruits.size()]);

  

最新文章

  1. 应用SqlGeometry无法加载sqlserverspatial.dll
  2. 理解AUC
  3. Discuz!模板解析语法
  4. Mysql学习笔记(一)
  5. 【git】删除某个文件的所有历史记录,批量删除远程分支
  6. EMCA创建em资料库时报错
  7. 四、cocos2dx动画Animation介绍
  8. Asp.net实现URL重写
  9. Leetcode 12——Integer to Roman
  10. 2017北京国庆刷题Day1 afternoon
  11. react dnd demo2
  12. 如果需要精确的答案,请避免使用float和double
  13. 新年第一个目标一张表盘串讲所有canves的知识点
  14. C++ vector 容器浅析
  15. GDAL对TIF创建内建金字塔一个问题
  16. Combination Sum leetcode java
  17. 《剑指offer》第三十五题(复杂链表的复制)
  18. springboot入门(一)--快速搭建一个springboot框架
  19. Linux skbuff注释笔记
  20. git工具 将源码clone到本地指定目录的三种方式

热门文章

  1. 详解 java socket
  2. 移动端页面利用好viewport,适配各种宽度屏幕
  3. 转-如何使用iTunes制作iPhone铃声
  4. 根据科目计算父科目ID,并递归累计求父科目的金额
  5. Python3+ssl实现加密通信
  6. python 豆瓣验证码识别总结
  7. laravel中判断当前页面与连接地址是否一致,并添加效果:
  8. Spring注入,Ioc的具体配置
  9. alpine linux docker 安装 lxml出错的解决办法。
  10. 5.1 C++基本操作符重载