有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

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

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

我对此感到有点不安,因为我们调用methodReturnsArray()两次:一次是为了找出数组有多大,另一次是为了将它设置为等于引用变量

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

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


共 (1) 个答案

  1. # 1 楼答案

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

    但常用的方法是引入新的局部变量,以便从方法methodReturnsArray保存对原始数组的引用。i、 e:

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

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