java - 将新数组分配给现有数组的正确方法

标签 java

考虑到 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);

谢谢。

最佳答案

哪个都好。至于代码指南,您可以坚持使用 native java 方法,例如Collections#reverse不返回任何东西。它改变传递的对象。所以这实际上取决于方法的作用。

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

关于java - 将新数组分配给现有数组的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55362386/

相关文章:

java - 从照片中识别颜色 - Android

JAVA移动球

java - Spring 和 Soap API 错误 : "Unable to validate using XSD: Your JAXP provider"

java - 在 Java 应用程序中为开发和发布提供各种 URL 端点的正确方法是什么?

Java 创建损坏的 ZIP 文件

java - 按值对 HashMap 进行排序,该值是具有多个变量的类的实例

java - 将日期时间转换为 yyyy-MM-dd HH :mm:ss"format

java - 找到没有元数据表的非空架构 `schema_name`

java - 如何在 Android 上管理位图的内存?

java - 什么是NullPointerException,我该如何解决?