我明白,当我们说某事等于另一个数组时,我们本质上是用我们的新名称指向数组。如果我们想复制一个数组,我们需要逐个元素或者我们需要使用一个方法/ java包。Java数组 - 复制vs编辑它们
public class puzzle {
public static void main(String[] args) {
int [] x= {1,2,4,6};
double [] u= 3.0, 4.0, 5.0, 6.0,7.0};
double [] v = {2.0, 4.0, 5.0};
puzzle(u,v,x); //1
puzzle (v,u,x); //2
}
public static void puzzle(double [] first, double [] second, int [] third){
double [] temp;
temp=first;
temp[2]=42.0;
**second= first;**
second[0]= 2.34;
}
}
我们希望看到什么x的值,U,V是在此之后一直运行(U,V,X) 和(V,U,X)
在第二个拼图v只有长度为3,包含2.34,4.0,42.0。为什么只有三个长而不是六个(2.34,4.0,42.0,6.0,7.0)
这是否与数组v只有三个长,因此是三个固定大小,并最终切断其他号码?
(我没有选择的名称)
请用正确的语法更新您的问题 – Oswald
也许你正在期待通过引用行为。 Java始终是按值传递的。当示例代码显示'second = first'时,这只是改变局部变量。主要的变量'u'和'v'不会被该赋值改变。 http://stackoverflow.com/q/40480/2891664 – Radiodef