在数组中,为了能够方便调用,我们通常会进行拷贝的操作。拷贝有两种模块,相信大家都在之前有所了解过。本篇所要说的是一维数组的深拷贝,可以说算是学习数组复制最简单的操作了,总共有三种方法可以实现。下面我们对这些方法进行罗列,然后带来具体的代码展示。
1、三种方法
(1)调用clone
(2)调用System.arraycopy
以上两种对基本类型和对象类型数据效果等同。
(3)使用FOR循环,将数组的每个元素复制。(注意调用clone方法)
2、实例
Object[] src = new Object[]{ new String("Zhao"), Integer.valueOf(1), Integer.valueOf(2), Integer.valueOf(3), Integer.valueOf(4)}; Object[] dest = src.clone(); //1.拷贝数据 // Object[] dest = new Object[5]; // System.arraycopy(src, 0, dest, 0, dest.length); System.out.println( dest.equals(src)); System.out.println( dest == src ); for (int i = 0; i < dest.length; i++) { System.out.print( dest[i]+", " ); dest[i] = new String("KE"); //2.改变新数组内容 System.out.print( dest[i]+", " ); System.out.println( src[i]+","); //3.不影响原始数组 } System.out.println();
注意: 一维数组下的深拷贝在多维数组只是浅拷贝。
以上就是java一维数组的深拷贝方式,大家可以对三种方法分别进行尝试,然后挑选出最适合自己的方法进行强化练习。更多Java学习指路:java数组