【发布时间】:2015-11-10 11:10:02
【问题描述】:
考虑以下代码:
import java.util.*;
public class ArrayQuestion{
public static void main(String[] args){
List<String> list = new ArrayList<>();
list.add("Chocolate");
list.add("Vanilla");
//Converting the List to an Array
Object[] objectArray = list.toArray();
所以 toArray 方法返回一个默认类型 Object[] 的数组。 假设我想创建一个 String 数组,我读到我会将一个 string[] 对象传递给 toArray 方法。
String[] stringArray = list.toArray(new String[0]);
我了解到为参数指定大小为 0 的好处是 Java 将 为返回值创建一个大小合适的新数组。
有人可以解释一下吗,我在 Java API 中查找了 toArray(String[] stringArray) 方法。我仍然不明白上面的语句所暗示的返回值是什么。
我的问题是关于传递给 toArray 方法的参数以及为什么它是 0 以及传递 0 如何创建一个适当大小的列表的数组。
【问题讨论】:
-
正确的方法是
T[] myArray = list.toArray(new T[list.size()]);。你的问题到底是什么? -
source code 可能会对您有所帮助。
-
@singhakash 谢谢,这正是我需要的