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方法
List转Array与Array转List详解:类型转换与方法选择
本文介绍了如何使用Java将List转换为Array,包括toArray()方法的注意事项,以及如何通过泛型实现toArray(T[] a)来获取特定类型数组。同时讲解了Array转List时遇到的问题,如基本类型到List的转化限制。
1万+

被折叠的 条评论
为什么被折叠?



