如何在Java中将列表转换为数组?
List 提供了两种将 List 转换为数组的方法。
方法 #1
Object[] toArray()
返回一个包含此列表中所有元素的数组,按正确的顺序(从第一个元素到最后一个元素)。
方法 #2
<T> T[] toArray(T[] a)
返回一个包含此列表中所有元素的数组,按正确的顺序(从第一个元素到最后一个元素);返回数组的运行时类型与指定数组的运行时类型相同。如果列表适合指定的数组,则在其中返回它。否则,将分配一个新的数组,其运行时类型与指定的数组相同,大小与此列表相同。
类型参数
T − 包含集合的数组的运行时类型。
参数
a − 要将此列表的元素存储到的数组,如果它足够大;否则,将为此目的分配一个相同运行时类型的新的数组。
返回值
包含此列表元素的数组。
抛出
ArrayStoreException − 如果指定数组的运行时类型不是此列表中每个元素的运行时类型的超类型。
NullPointerException − 如果指定的数组为空。
示例
以下示例演示了 toArray() 方法的使用:
package com.tutorialspoint; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class CollectionsDemo { public static void main(String[] args) { List<String> list = new ArrayList<>(Arrays.asList("A","B","C", "D")); System.out.println("List: " + list); Object[] items = list.toArray(); for (Object object : items) { System.out.print(object + " "); } System.out.println(); String[] characters = list.toArray(new String[list.size()]); for (String string : characters) { System.out.print(string + " "); } } }
输出
这将产生以下结果:
List: [A, B, C, D] A B C D A B C D
广告