使用0 size数组作为List.toArray <T []>的参数

Che*_*eng 1 java

我想知道,这是一种将列表转换为数组的推荐方法,因为这两种方法似乎都运行正常.

在Java中将'ArrayList <String>转换为'String []',我看到的new String[list.size()]方式是推荐的,但我不确定为什么.

list.toArray(new String[0]);
Run Code Online (Sandbox Code Playgroud)
list.toArray(new String[list.size()]);
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 6

如果传递大小为0的数组,toArray()则需要使用反射来创建相同类型的新数组实例.
那很慢.

如果传递正确大小的数组,它可以简单地使用您传递的数组实例,因此不需要做任何额外的工作.