那些年遇到的坑--------“集合转数组”

废话不多说,直接上代码
public
void test() throws Exception { List<String> list = new ArrayList<String>(2); list.add("aaa"); list.add("bbb"); String[] array = new String[list.size()]; System.out.println(list.toArray(array)); System.out.println(list.toArray());//返回值是一个Object[] }

说明:使用 toArray 带参方法,入参分配的数组空间不够大时,toArray 方法内部将重新分配 内存空间,并返回新数组地址;如果数组元素大于实际所需,下标为[ list.size() ]的数组 元素将被置为 null,其它数组元素保持原值,因此最好将方法入参数组大小定义与集合元素 个数一致。直接使用 toArray 无参方法存在问题,此方法返回值只能是 Object[]类,若强转其它 类型数组将出现 ClassCastException 错误。

 

 

posted @ 2019-11-14 15:42  uzxin  阅读(185)  评论(0编辑  收藏  举报