我想知道,这是将列表转换为数组的推荐方法,因为这两种方法似乎都可以正常工作。
从 Converting 'ArrayList<String> to 'String[]' in Java 开始,我看到了推荐的 new String[list.size()]
方式,但我不确定为什么。
list.toArray(new String[0]);
list.toArray(new String[list.size()]);
最佳答案
如果传递大小为 0 的数组,toArray()
将需要使用反射来创建相同类型的新数组实例。
那很慢。
如果您传递一个大小正确的数组,它可以简单地使用您传递的数组实例,因此它不需要做任何额外的工作。
关于java - 使用 0 大小的数组作为 List.toArray<T[]> 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16884799/