首页 > 解决方案 > 将新数组分配给现有数组的正确方法

问题描述

考虑到 Java 是通过值传递来运行的。以下哪一项将被视为将新数组值分配给已经存在的数组的最常规/正确的方法:

1:

 int[] x = {1,2};

    public static int[] changeValue(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            arr[i]*=2;
        }
        return arr;
    }

    changeValue(x);

2:

 int[] x = {1,2};

    public static int[] changeValue(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            arr[i]*=2;
        }
        return arr;
    }

    x = changeValue(x);

3:

 int[] x = {1,2};

    public static void changeValue(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            arr[i]*=2;
        }
    }

    changeValue(x);

谢谢。

标签: java

解决方案


哪一个都好。至于代码指南,您可以坚持使用本机 java 方法,例如Collections#reverse不返回任何内容。它改变了传递的对象。因此,这实际上取决于该方法的作用。

所以在你的情况下,我会选择第三个版本。


推荐阅读