Java中关于arraycopy()方法拷贝数组的一个问题:
int[ ] mon = {1, 2, 3, 4, 5 };
int[ ] hold = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
System.arraycopy(mon, 0, hold, 0,mon.length);
for(int i=0; i<hold.length; i++){
System.out.print (hold[i] +? ?);
}
最后输出结果为什么是:1 2 3 4 5 5 4 3 2 1
------解决方案--------------------------------------------------------
System.arraycopy(mon, 0, hold, 0,mon.length);
mon为源数组,从第0项开始拷贝
hold为目标数组,从第0项开始粘贴
拷贝和粘贴的长度为mon.length=5
所以,从mon拷贝0到4项,粘贴到hold的0到4项,,5到9项保持
最后输出的hold就是这样了