java - 使用 0 大小的数组作为 List.toArray<T[]> 的参数

标签 java

我想知道,这是将列表转换为数组的推荐方法,因为这两种方法似乎都可以正常工作。

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/

相关文章:

java - weblogic 上的 Jersey REST channel 返回 'null' 而不是序列化 JSON - 没有错误

Java括号在字符串中翻转

java - servlet 3.x 在tomcat 7中同时获取POST body和使用request.getParameter()

java - 金字塔数字以相反的顺序排列

java - 将值传递给方法然后打印它

java - Java 子类中构造函数的行为

java - 如何从 SQL 查询中获取列名(Jooq,Java)

java - 串流意外结束

java - 无法将图像资源导入我们的 GUI

java - 如何获取过滤后的extendedDataTable的选中行?