I
income
Unregistered / Unconfirmed
GUEST, unregistred user!
今天遇到一个java的奇怪问题,想了半天也不知道是为什么,希望高手给予指点
public class strange{
public static void main(String args[]){
int a[][] = {{1,2,3},{4,5,6}};
int b[][] = new int[2][3];
System.arraycopy(a,0,b,0,a.length);
b[0][0] = 4;
System.out.println(a[0][0]);
System.out.println(b[0][0]);
}
}
结果输出为4 4 我只是修改了数组b第一个元素的值,可数组a的第一个元素的值也变了。如果将以上程序中的数组改为一维的,则不存在此问题,请高手赐教。
public class strange{
public static void main(String args[]){
int a[][] = {{1,2,3},{4,5,6}};
int b[][] = new int[2][3];
System.arraycopy(a,0,b,0,a.length);
b[0][0] = 4;
System.out.println(a[0][0]);
System.out.println(b[0][0]);
}
}
结果输出为4 4 我只是修改了数组b第一个元素的值,可数组a的第一个元素的值也变了。如果将以上程序中的数组改为一维的,则不存在此问题,请高手赐教。