System.arraycopy函数

1 System有一个静态的函数用于基础数组的复制功能。System.arraycopy(源数组,源数组的起始下标,目的数组,目的数据的起始下标,复制的长度)
如:public void test1(){
int[] aaa=new int[]{1,2,3,4,5,6,7,8,89};
int[] bbb=new int[aaa.length];//不能为null
System.arraycopy(aaa,0,bbb,0,aaa.length);//只能用在简单的原始类型:如int数组等。不能用于list数组(会报错)。
bbb[0]=11111;
System.out.println();
for(int i=0;i<aaa.length;i++){
System.out.print(aaa[i]+",");
}
System.out.println();
for(int i=0;i<bbb.length;i++){
System.out.print(bbb[i]+",");
}

}


2 想要使用System.arraycopy函数。所定义的数组必须能用length的那种基础数组才行,而用list的则不行。
如:int数组、String数组等。这些数据都用length()来得到数组长度的才行。


3 用System.arraycopy函数,用于基础的数组是值复制,而如果用于对象数组而是引用复制,切记只用于基础数据即可(int数组,String数组)。
如:public void test3(){
String[] str_s=new String[]{"2","3","4"};
String[] str_s1=new String[str_s.length];
System.arraycopy(str_s,0,str_s1,0,str_s.length);
str_s1[0]="11111";
//System.out.println(str_s1);
System.out.println();
for(int i=0;i<str_s1.length;i++){
System.out.print(str_s1[i]+",");
}
System.out.println();
for(int i=0;i<str_s.length;i++){
System.out.print(str_s[i]+",");
}
}




注意:System.arraycopy(原数组,原数组起始下标,目的数组,目的数组起始下标,复制的长度)用于基础数组,基础数组就是用length()来得到长度的那种。如int数组,String数组等。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值