Java数组的复制

初学Java的时候,需要复制数组的时候,,一下子就想到使用赋值语句“=”,例如:array1 = array2;但后来慢慢发现,这个语句并不能将array2的内容复制给array1,而是将array2的引用传给了array1.使用array1 = array2 这个语句之后,array1,array2指向了同一个数组,如下图所示:

2.使用System类中的静态方法arrayCopypublic class ArrayCopy_2{ public static void main(String[] args) { final int ARRAY_MAX = 12; int[] sourceArray = new int[ARRAY_MAX]; int[] targetArray = new int[sourceArray.length]; for(int i=0;i<sourceArray.length;i++){ sourceArray[i]=i; } //使用System中的静态方法arraycopy复制数组 System.arraycopy(sourceArray, 0, targetArray, 0, sourceArray.length); for(int j=0;j<targetArray.length;j++){ System.out.print(targetArray[j]+” “); } }}输出的结果:3.使用clone方法复制数组public class ArrayCopy_3 { public static void main(String[] args) { final int ARRAY_MAX = 12; int[] sourceArray = new int[ARRAY_MAX]; int[] targetArray = new int[sourceArray.length]; for(int i = 0;i<sourceArray.length;i++){ sourceArray[i]=i; } targetArray = (int[])sourceArray.clone();//使用clone方法将int[]型数组 //将sourceArray复制到targetArray //注意:由于clone方法返回值的类型是对象Object //所以要使用(int[])强制转换为int[] for(int k = 0;k < sourceArray.length;k++){ System.out.print(targetArray[k]+” “); //输出复制后的结果 } }}输出的结果:

也许不是自己该去发挥的地方,还是让自己到最适合自己战斗的方面去吧!勇敢的接受自己的失败,

Java数组的复制

相关文章:

你感兴趣的文章:

标签云: