我在重新分配数组中的值时遇到了麻烦.
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};
}
Run Code Online (Sandbox Code Playgroud)
为什么我无法以我尝试过的方式重新分配价值观?如果我做不到,为什么我不能这样做?
为什么我无法以我尝试过的方式重新分配价值观?如果我做不到,为什么我不能这样做?
因为Java没有像其他语言那样解构赋值.
你的选择是:
如Rohit和Kayaman所示,为数组变量分配一个新数组,但这不是你要求的.你说你想分配给元素.如果您指定了一个新数组ArrayOfIntegers,那么在另一个变量或成员中引用旧数组的任何其他内容仍将引用旧数组.
使用System.arraycopy,但它涉及创建一个临时数组:
System.arraycopy(new int[]{11,12,15,17},
0,
ArrayOfIntegers,
0,
ArrayOfIntegers.length);
Run Code Online (Sandbox Code Playgroud)
System.arraycopy 将元素复制到现有数组中.