在写这篇文章之前,也看了一些别人写的,基本上都是大同小异。文章是对java数组复制基础知识的回顾,算是作为学习笔记,供以后自己翻阅。
首先,简单想一下这个问题:为什么要复制数组?
我的个人理解:在我们在利用一个数组时,在每一次使用,我们都希望它的值是初始值。这时我们就要对数组进行复制,以达到原始数组值的安全性。
java数组复制大致分为3种方式:①for循环方式 ②clone方式 ③arrayCopy方式,以下分别用例子阐释
for循环方式:
int[] a = {1,2,3,4,5};
int[] b = new int[10];
for(int i=0; i<a.length; i++){
b[i] = a[i];
}
for(int value:b){
System.out.print(value);
}
输出结果为:1234500000
clone方式:
int[] a = {1,2,3,4,5};
int[] b = a.clone();
b[0]=2;
for(int value:b){
System.out.print(value);
}
System.out.println();
for(int value:a){
System.out.print(value);
}
输出结果为:22345
12345
arrayCopy方式:
int[] a = {1,2,3,4,5};
int[] b = new int[10];
System.arraycopy(a, 2, b, 0, 3);
for(int value:b){
System.out.print(value);
}
输出结果为:3450000000