入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

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

创建时间:2016-12-30 投稿人: 浏览次数:621
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;

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。