java里面怎么把一个数组里的所有元素copy到另一个数组里面去?

sailor11 2004-09-19 07:32:02
java里面怎么把一个数组里的所有元素copy到另一个数组里面去?Arrays里面好象没有适合的方法
...全文
5206 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
chanceqw 2004-10-24
  • 打赏
  • 举报
回复
另外,如果数组等长,而且对应copy,使用dest=(Temp[])src.clone();也可以实现System.arraycopy()同样的功能
chanceqw 2004-10-24
  • 打赏
  • 举报
回复
由于问题不是很清楚,有2种情况
一种是源数组和目的数组是int、boolean这些简单数据类型,使用System.arraycopy()方法即可
另一种情况是源数组和目的数组是复杂类型的数组,这时候System.arraycopy()只能实现浅拷贝,就是说目的数组copy出来的只是源数组内容的引用。比如Temp []src和Temp []dest都是Temp类型的数组,则用System.arraycopy(src,0,dest,0,length) copy出来后,修改dest[i],则src[i]跟着变,因为两者引用的是同一对象。所以如果你想深拷贝,就需要自己写一个函数。
private static void arrayCopy(Object src, int i, Object dest, int j, int length){
try{
Temp []src0=(Temp[]) src;
Temp []dest0=(Temp[]) dest;
for(int k=0;k<length;k++){
dest0[j]=(Temp) src0[i].clone();
i++;
j++;
}
}catch(Exception e){
e.printStackTrace();
}
}
其中,在Temp类中实现了clone方法
网络咖啡 2004-10-24
  • 打赏
  • 举报
回复
拷贝数组有两种方法:
1、使用循环自己拷贝。
2、使用System类的arrayCopy方法
xq_zz 2004-10-24
  • 打赏
  • 举报
回复
用指向数组的引用吧,很简单的,
只要把一个数组的引用赋给另外一个数组的引用就可以了。
我的意见和楼上的一样~~~~
pptuzi 2004-10-23
  • 打赏
  • 举报
回复
浅拷贝是什么?
stone_lee 2004-10-23
  • 打赏
  • 举报
回复
这样会打乱原排序的吧.
iwenlong 2004-10-23
  • 打赏
  • 举报
回复
int a[] = { 1,2,3,4,5 };
int b[] = a;
baffling 2004-10-23
  • 打赏
  • 举报
回复
gz
newste 2004-10-23
  • 打赏
  • 举报
回复
System.arraycopy(Object src, //要拷贝的数组,
int srcPos,//不能超出你要拷贝数组的长度,
Object dest, //目标数组,
int destPos, //不能超出你目的数组的长度,
int length) //不能超出你目的数组的长度
lmix 2004-10-23
  • 打赏
  • 举报
回复
int [] k1={……};
int [] k2=(int[]) k1.clone();

我也是才学的不知道对不对
newste 2004-10-23
  • 打赏
  • 举报
回复
笨人笨招,用循环
一维数组就一个一循环,二维做两个,.....
数组大小好象是:数组名称.length
vongood 2004-10-23
  • 打赏
  • 举报
回复
gz
eo 2004-10-23
  • 打赏
  • 举报
回复
用循环不行吗?
treeroot 2004-09-19
  • 打赏
  • 举报
回复
是一个浅拷贝!
sagittarius1979 2004-09-19
  • 打赏
  • 举报
回复
System.arraycopy(Object src,
int srcPos,
Object dest,
int destPos,
int length)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧