public class Test2 {
public static void main(String[] args) {
int[] arr1 = new int[]{1,2,3};
int[] arr2 = arr1;
int[] arr3 = arr1.clone(); //浅克隆
arr1[0] = 4;
System.out.print(arr2[0] + " ");
System.out.println(arr3[0]);
//arr2[0]的已改变为4,arr3[0]的值未改变
Person[] arr4 = new Person[] { new Person(),new Person(),new Person() };
Person[] arr5 = arr4;
Person[] arr6 = arr4.clone();
arr4[0].setId(2);
System.out.print(arr5[0].getId() + " ");
System.out.println(arr6[0].getId());
//arr5[0]和arr6[0]的id值都已改变为2
//由于Person是引用类型,所以浅拷贝后与原对象指向的堆中的数据相同,所以也改变为2
}
}
数组的clone()方法
最新推荐文章于 2024-05-02 05:45:00 发布