List转Array
list转Array主要有两种方法
toArray() 和toArray(T[] a)方法
- toArray()
这种方法将会返回List中所有元素构成的数组,注意数组的类型是Object,返回的是一个新生成的数组(新数组),因此每次运行toArray()都将返回不同的对象。
小白很有可能出现的错误
因为toArray返回的是Object ,你要让Object强制转化成为Integer,虽然java中提供强制类型的转化,但是这是强制转换一个集合,肯定是不行的。
如果想使用只能定义一个Object类
Object[] object = list.toArray();
- toArray(T[] a)
上面的写法不能返回一个具体类型的Array,因此使用泛型返回一个具体的类型的对象数组
Integer[] array = list.toArray(new Integer[0]);
这里需要的主要的是 ,返回的java中基类型数据 使用对应的包装类即可。
Array转List
使用asList方法
String[] str = {"sdf","tyr","qw"};
List<String> list4 = Arrays.asList(str);
转化的时候有两个坑
- 不能把java中的基本数据类型转化为列表
如果想把一个整型的数据的数组转化为lis将会报错
如非要转,可以吧基本数据类型的数组转换成为对应的包装类就可以了。
Integer[] num={1,2,3,4};
List<Integer> list = Array.asList(num);
- 返回的结果其实并不是真正的List
asList返回的结果类型实质上是java.util.Arrays.ArrayList,而不是我们的真正的java.util.Arrays
所以使用起来就有一些出入了
他也有set,get等方法,但是不具有add remove方法