List的toArray()方法
toArray()方法会返回List中所有元素构成的数组,并且数组类型是Object[]。还要注意一点就是,返回的数组是新生成的一个数组,也就是说,多次运行toArray()方法会获得不同的数组对象,但是这些数组对象中内容一样的。也就是说,toArray()返回的数组是安全的,是深copy出来的新数组,你可以对它进行任意的修改,而不影响原来的数组。List接口的toArray()方法就是直接调用Arrays.copyOf(elementData, size),将list中的元素对象的引用装在一个新的生成数组中。
List的toArray(T[] a)方法
toArray(T[] a)方法使用了泛型参数,可以返回指定类型的数组,但是这个泛型在确定的时候必须是list中元素类型的父类或本身。也就是说这个参数,是你List中元素的类型,返回的时候就返回你传入的这个类型,仅此而已。如:
String a[] = list.toArray(new String[0]);
传进去的就是一个String 类型的空数组,那么返回的就是String类型的数组。
总结
List接口的toArray()方法就是直接调用Arrays.copyOf(elementData, size),将list中的元素对象的引用装在一个新的生成数组中。
List接口的toArray(T[] a)方法会返回你传入的参数类型的数组(该参数必须为list中保存的元素类型的本身或父类)。如上图传入的是String,就返回String类型的数据。
注意:
- 如果传入的参数a的长度比list的长度小(参数长度不够用&#