Java之List中toArray()方法简介说明
下文笔者讲述list对象中toArray()方法的功能简介说明,如下所示
list对象之toArray()方法简介
Java中的List接口:
拥有一个名为toArray的方法
它能够将List转化为一个数组
该方法存在两种形式:
Object[] toArray() :
这个方法返回一个新的Object数组
包含List中所有的元素。
数组的类型是Object
因此,我们需要将它转换为实际的类型。
toArray方法的示例
T[] toArray(T[] arrayToFill) :
这个方法返回一个新的、和提供的数组类型相同的数组
包含List中所有元素
如果List的大小超过了提供的数组的长度
那么会创建一个新的数组,长度和List的大小相同
否则,将在提供的数组中存放List的元素。
例
List list = new ArrayList(); list.add("java265.com"); list.add("java爱好者"); list.add("最爱java开发"); // 转换为Object类型的数组 Object[] objectArray = list.toArray(); System.out.println(Arrays.toString(objectArray)); // 转换为String类型的数组 String[] stringArray = list.toArray(new String[0]); System.out.println(Arrays.toString(stringArray));
toArray()方法注意事项
当List中存储的元素为自定义类型
那么在使用 toArray()时
需要提供该类型的数组
否则会发生 ClassCastException。
当考虑到性能优化
理论上当 List 的长度超过了原数组长度时
toArray(T[] array) 方法会新建一个同类型和 List 长度相同的数组
List list = new ArrayList();
list.add(new Cat("maomao1"));
list.add(new Cat("maomao2"));
// 正确的用法
Cat[] cats = list.toArray(new Cat[0]);
System.out.println(Arrays.toString(cats));
// 错误的用法,会抛出ClassCastException
Object[] objects = list.toArray();
Cat[] wrongCats = (Cat[]) objects;
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


