java - 在数组中重新分配值的简单方法

标签 java arrays

我在重新分配数组中的值时遇到问题。

    public static void main(String[] {

            int[] arrayOfIntegers = new int[4];
            arrayOfIntegers[0] = 11;
            arrayOfIntegers[1] = 12;
            arrayOfIntegers[2] = 13;
            arrayOfIntegers[3] = 14;

            arrayOfIntegers = {11,12,15,17};

    }

为什么我无法按照我尝试过的方式重新分配值?如果我做不到,为什么我做不到?

最佳答案

Why am I unable to reassign values in the manner that I've attempted? If I can't do it, why can't I do it?

因为 Java 不像其他一些语言那样具有解构赋值

您的选择是:

  1. 如 Rohit 和 Kayaman 所示,将 数组分配给数组变量,但这不是您所要求的。你说你想分配给元素。如果您将新数组分配给 ArrayOfIntegers,则在不同变量或成员中引用旧数组的任何其他内容仍将引用旧数组。

  2. 使用 System.arraycopy ,但它涉及创建一个临时数组:

     System.arraycopy(new int[]{11,12,15,17},
                      0,
                      ArrayOfIntegers,
                      0,
                      ArrayOfIntegers.length);
    

System.arraycopy 会将元素复制到现有数组中。

关于java - 在数组中重新分配值的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18288888/

相关文章:

java - 如何在 Java 中合并两个排序的数组?

javascript - 无法选择 Javascript 附加的 HTML 元素

java - 如何从不同的数组中找到与数组的最大编号相关的索引?

java - 如何在 Java 中将 JSON 数组转换为 RDF?

java - 为什么需要 `java.lang.SecurityException: Prohibited package name: java`?

java - 在没有 java -jar unix & windows 的情况下运行 JAR?

java - 根据 JComboBox 选择添加 JList 项目

java - 无法写入文件

performance - O(1) 在非连续内存中查找?

arrays - 在范围内创建随机数并访问数组索引图表