java中数组转ArrayList的方法 Arrays.asList()的细节

Arrays.asList()的细节

Arrays.asList()的参数不可以是 八种基本类型的数组

如:我们把一个int[] 型数组转成一个 ArrayList ,虽然不会报错, 但转换出来的结果不是我们想要的

int[] arr = new int[]{1,2,3,4,5,6}
Array<Ingeger> list = new ArrayList(Arrays.asList(arr));
system.out.println( list.size() )  
#可以看到输出的结果是 1  ,也就是说 转换后的 list中只有一个元素

其错误原因就是因为 Arrays.asList() 只对接收引用类型的数组, 这里要得到正确的结果, 我们要需要在定义数组的时间使用 基本数据类型的包装类

Integer[] arr = new Integer[]{1,2,3,4,5,6,7};
ArrayList<Integer> list = new ArrayList(Arrays.asList(arr))
system.out.println( list.size() )  
#可以看到输出的结果是 7  ,也就是说 转换后的 list中只有一个元素

Arrays.asList() 返回的是一个List 对象, 但这个对象是 Arrays的一个内部类, 而不是 java.util.list 的接口类, 所以, 返回的这个list对象没有 add 和 remove的功能

Integer[] arr = {1,2,3,4,5};
List list = Arrays.asList(arr);
list.add(6)  #注意这一句是会报错的   
===========================
所以我们要用新的一个 ArrayList 对其进行操作
ArrayList<Integer> list1 = new ArrayList(Arrays.asList(arr))
list1.add(10)   #这样就可以操作了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A黄俊辉A

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值