我明白,當我們說某事等於另一個數組時,我們本質上是用我們的新名稱指向數組。如果我們想複製一個數組,我們需要逐個元素或者我們需要使用一個方法/ 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