Java Arrays.asList() 的避雷
Posted ZSYL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Arrays.asList() 的避雷相关的知识,希望对你有一定的参考价值。
浅谈asList的使用
Arrays.asList()
1.Arrays.asList()将数组转换为集合后,底层其实还是数组,它返回的是Arrays的一个内部类,体现了适配器模式。
…
2.传递的数组必须是对象数组,而不是基本类型。
…
3.当传入一个原生数据类型数组时,Arrays.asList()的真正得到的参数就不是数组中的元素,而是数组对象本身!此时List 的唯一元素就是这个数组。
…
4.使用集合的修改方法:add()、remove()、clear()会抛出UnsupportedOperationException异常。
…
5.返回的list集合数据不能更改,保证数据安全性
快速创建List
List list = new ArrayList<>(Arrays.asList(myArray));
使用Java8 stream创建
Integer [] myArray = { 1, 2, 3 };
List list = Arrays.stream(myArray).collect(Collectors.toList());
System.out.println("list = " + list);
//基本类型也可以实现转换(依赖boxed的装箱操作)
int [] myArray2 = { 1, 2, 3 };
List myList = Arrays.stream(myArray2).boxed().collect(Collectors.toList());
System.out.println("myList = " + myList);
参考博客:Address
感谢
参考大佬文章,及官方API,向优秀的人致敬!
加油!!!
以上是关于Java Arrays.asList() 的避雷的主要内容,如果未能解决你的问题,请参考以下文章