1. List集合转换成数组
采用集合的toArray()方法直接把List集合转换成数组,
这里需要注意,不能这样写: String[] array = (String[]) mlist.toArray();
这样写的话,编译运行时会报类型无法转换java.lang.ClassCastException的错误,这样写看起来没有问题,因为java中的强制类型转换是针对单个对象才有效果的,而List是多对象的集合,所以将整个List强制转换是不行的
正确的写法应该是这样的:String[] array = mlist.toArray(new String[0]);
List<String> mlist = new ArrayList<>();
mlist.add("aaa");
mlist.add("bbb");
mlist.add("ccc");
// List转成数组
String[] array = mlist.toArray(new String[mlist.size()]);
// 输出数组
for (int i = 0; i < array.length; i++) {
System.out.println("array--> " + array[i]);
}
2. 数组转换成List集合
采用java中集合自带的asList()方法就可以完成转换了
String[] array = new String[] {"aaa", "bbb", "ccc"};
// String数组转List集合
List<String> mlist = Arrays.asList(array);
// 输出List集合
for (int i = 0; i < mlist.size(); i++) {
System.out.println("mlist-->" + mlist.get(i));
}
不管是数组转换成集合,还是集合转换成数组,都要注意转换类型的一致性,
String[]数组转String类型的集合,当需要使用int,double等集合的时候,需要使用对应的对象
如:数组int[]用Integer[],double[]用Double[] ,因为List集合是对象的集合,而int,double等不是对象,所以需要用字段的对应对象类