操作java数组的时候,其实是通过一个引用来操作数组的,如果使用简单的=操作符进行赋值的话,只是复制了引用,并没有把数组的数据赋值一份。
Public class ArrayCopy(){
Int[] arr=new int[]{1,2,3};
Int[] arr2=arr;
Arr2[2]=7;
For(int i:arr){
System.out.println(i);
}
}
以上代码这,创建了一个长度为3的int型数组arr,然后用赋值运算符=把arr赋值给arr2,通过arr2把他的下标为2的元素的值改为7,最后把arr的数组遍历打印一下。得到:1,2,7。
如果想创建两个独立的数组,拷贝数组应使用System.arraycopy()方法。
Public class ArrayCopy{
Public static void main(String args[]){
Int[] arr=new int[]{1,2,3};
Int[] arr2=new int[3];
System.arraycopy(arr,0,arr2,0,arr.length);
Arr2[2]=7;
For(int i:arr){
System.out.println(i);
}
}
}
打印结果:1;2;3