list转Array

集合转数组

必须使用集合的 toArray(T[] array),传入的是类型完全
一样的数组,大小就是 list.size()。

说明:
使用 toArray 带参方法,入参分配的数组空间不够大时,toArray 方法内部将重新分配内存空间,并返回新数组地址;如果数组元素大于实际所需,下标为[ list.size() ]的数组元素将被置为 null,其它数组元素保持原值,因此最好将方法入参组大小定义与集合元素个数一致。

正例:

List<String> list = new ArrayList<String>(2); 
list.add("guan"); 
list.add("bao"); 
String[] array = new String[list.size()]; 
array = list.toArray(array); 

反例:
直接使用 toArray 无参方法存在问题,此方法返回值只能是 Object[]类,若强转其它类型数组将出现 ClassCastException 错误。

亲测:
在这里插入图片描述

来自【阿里巴巴 Java 开发手册】


版权声明:本文为weixin_41854206原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。