【发布时间】:2018-03-10 08:19:42
【问题描述】:
我正在构建一个数据结构,我导入了 2 个可以跳过的类,就像我使用 Arrays.newInstance() 来创建新数组而不是传统方法一样,所以我导入了 java.lang.reflect.Array。
在打印我的数组之前,我将删除所有空元素并减小数组大小,当添加新元素时,resize() 方法将创建新数组并将其分配给原始数组。
那么,它对我的表现有多大影响。
我阅读了 Java import vs code performance ,它说它不会影响,但是如果我在我的项目中包含新类,为什么它不会影响我的性能。
【问题讨论】:
-
“如果我在我的项目中包含新课程,为什么它不会影响我的表现” - 因为这不是
import所做的。import语句只允许您通过简单名称而不是全名来引用类型。它根本不会改变生成的字节码。它当然不会将Array类代码添加到编译器的输出中,或者类似的东西。 -
@JonSkeet,你能告诉我使用 Array.newInstance() 创建新的泛型数组有什么好处吗?当我查看 oracle 文档时,它说它可以用来创建任意类型的动态数组,但我没有得到确切的想法。我想要实分,因为我使用这个会被扣分。
-
这与这里提出的问题完全不同。请限制自己在每个帖子中回答一个问题。如果您想了解这一点,请使用完整的示例代码等提出一个新问题。
-
@JonSkeet 你可以看到第一行是关于这个的。
-
不,您的问题是关于导入声明
java.lang.reflect.Array的成本。这与询问使用Array.newInstance()创建数组是否有任何好处完全不同。如果您要问后一个问题,为什么要问导入?充其量,这个问题非常不清楚。
标签: java arrays performance data-structures import