作者lovebluetea (cchichi)
看板java
标题[问题] 关於.clone的问题?
时间Thu May 3 15:57:18 2012
底下是我遇到的一个bug... google过仍然不知道怎麽发生的,只好来板上请教了...
问题在 a[0][0] = b[1][1] 这一行上
我将b[1][1] 指定给a[0][0] , 但原本的b[0][0]却会变成3
我的预期结果中 b只是复制a的值,但这两个值是分开不会互相干扰的。
但是我用一维的阵列去测试却没有这个问题。
这样...看得懂吗="=
int d[] = new int[2];
: a[0][0] = 0;
: a[1][1] =3;
: c[0] = 0;
: c[1] =3;
: b=a.clone();
: d = c.clone();
: System.out.println(a[0][0]); //0
: System.out.println(b[0][0]); //0
: a[0][0] = b[1][1];
: System.out.println(a[0][0]); //3
: System.out.println(b[0][0]);//3
: //expect a {{3,0} , {0,3}} b {{0,0} , {0,3}}
: //actually a {{3,0} , {0,3}} b {{3,0} , {0,3}}
: System.out.println(c[0]);//0
: System.out.println(d[0]);//0
: c[0] = d[1];
: System.out.println(c[0]);//0
: System.out.println(d[0]);//0
: //c{3,3} d{0,3}
: System.exit(0);
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.39.183.146
1F:推 gmoz:请自己deep clone 05/10 10:58