[問題] 關於.clone的問題?
底下是我遇到的一個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
推
05/10 10:58, , 1F
05/10 10:58, 1F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):