一、Arrays.asList ------------ 该方法用于将数组转换成动态数组List集合,并且将数组和list集合联系在一起
1.尤其要注意下边的三点
1)该方法不适用于基本数据类型(byte,short,int,long,float,double,boolean)
(2)该方法将数组与列表链接起来,当更新其中之一时,另一个自动更新
(3)不支持add和remove方法!!!!!!!!!!!!!!!!!
2.然后深入理解这几点,原理
(1) 该方法对于基本数据类型的数组支持并不好,当数组是基本数据类型时不建议使用 ,即使是包装器类型也不能用add,remove方法,也仅仅只能用set方法来更新,而基本类型是啥也不支持!!!!!!!!!!!!!
System.out.println("段落一开始分割线--------------"); int [] a_int = { 1, 2, 3, 4 }; /*预期输出应该是在1,2,3,4,但实际上输出的仅仅是一个引用,这里它把a_int 当成一个元素*/ List a_int_List = Arrays.asList(a_int); System.out.println(Arrays.toString(a_int_List.toArray()));
输出:
段落一开始分割线--------------
[[I@2503dbd3]
(2) 当使用asList()方法时,数组就和列表链接在一起了. 当更新其中之一时,另一个将自动获得更新。
注意:仅仅针对对象数组类型,基本数据类型数组不具备该特性
(3) asList得到的数组是的没有add和remove方法的 , 阅读相关:通过查看Arrays类的源码可以知道,asList返回的List是Array中的实现的 内部类,而该类并没有定义add和remove方法.另外,为什么修改其中一个,另一个也自动 获得更新了,因为asList获得List实际引用的就是数组
二、Arrays.toString()----------该方法用于将数组改变成[0,1,2,3......]等形式的输出。