在同一范围内调用两次数组输出的方法

时间:2013-01-27 21:27:24

标签: java

假设您有一个输出不同大小的数组的方法。

在使用它之前,您需要创建一个数组引用变量。在此之前,您需要找到数组长度,例如

int[] intArray = new int[methodReturnsArray().length]

然后你可以将intArray设置为methodReturnsArray()生成的数组。

我对此感到有些不安,因为我们正在调用methodReturnsArray()两次:一次找出数组的大小,再次将其设置为等于引用变量。

是浪费资源来调用方法两次,还是只创建一次数组(当你找到它的大小时)?

编辑:我知道你可以将intArray初始化为数组返回的方法。但由于一些复杂的原因(在每次迭代中使用不同大小的数组循环调用“methodReturnsArray”)我需要知道调用两次是否会浪费计算资源。

1 个答案:

答案 0 :(得分:1)

这取决于你将如何填充新的数组变量。

但常见的方法是引入新的局部变量来保存对方法methodReturnsArray的原始数组的引用。即:

int[] methodArray = methodReturnsArray();
int[] intArray = new int[methodArray.length];
...

然后复制数组的最佳方法是System.arrayCopy(...)方法。 这种方法在任何情况下都适用,它会阻止你在方法methodReturnsArray中做两次事。