java数组赋值中的arraycopy和=的区别

import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;

/**
 * Created by cxh on 16/12/30.
 */
public class TempTest {

    public static void main(String[] args){
        //测试软拷贝和硬拷贝
        int[] a={1,2,3};
        int[] b={1,2,3};
        //软拷贝,同一内存地址,内容内存仅仅存在1份
        a=b;
        System.out.println(a);
        System.out.println(b);
        //硬拷贝,不同的内存地址,内容在内存存在2份
        int[] c={4,5,6};
        int[] d={7,8,9};
        System.arraycopy(c,0,d,0,2);
        System.out.println(c);
        System.out.println(d);
        //迭代器Iterator的使用
        List<Integer> lst=new ArrayList<Integer>();
        lst.add(d[0]);
        lst.add(d[1]);
        lst.add(d[2]);
        Iterator<Integer> itLst=lst.iterator();
        while (itLst.hasNext()){
            int i=itLst.next();
            System.out.println(i);
        }
    }
}


运行结果:

[I@457471e0
[I@457471e0
[I@7ecec0c5
[I@37d2068d
4
5
9


说明:

arraycopy参数说明:arraycopy(src,srcPos,dest,destPos,length)
格式:arraycopy(数组src名字,数组src向数组dest复制内容开始位置,数组dest,数组dest从数组src开始接收赋值内容的位置,赋值长度length)
     赋值:开始位置:destPos;
          结束位置:destPos+length-1;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值