Java大数据平台开发 学习笔记(19)—— clone() 方法实现数组拷贝(“浅表复制”,而不“深层复制”)

一维数组的拷贝方式:clone() 方法实现数组拷贝

    public static void main(String[] args) {

        int[] arr = new int[]{1,2,3,4,5,6};
        int[] arr1 = arr.clone();

        System.out.println("Data change front !!");
        System.out.println(Arrays.toString(arr));
        System.out.println(Arrays.toString(arr1));
        System.out.println("Data change after !!");
        arr1[0] = 99;
        System.out.println(Arrays.toString(arr));
        System.out.println(Arrays.toString(arr1));
    }
    

这段程序的输出结果是:

在这里插入图片描述

由结果可以看出,当对复制数组的某个元素进行改变时,并不影响被复制数组对应元素,即对于基本数据类型来说clone()方法实现数组拷贝也属于 深 拷 贝 \color{#FF0000}{深拷贝}

二维数组的拷贝方式:clone() 方法实现数组拷贝

    public static void main(String[] args) {

        int[][] arr = new int[][]{{1,1},{2,2},{3,3},{4,4},{5,5},{6,6}};
        int[][] arr1 = arr.clone();

        System.out.println("Data change front !!");
        System.out.println(arr[0][0]);
        System.out.println(arr1[0][0]);
        System.out.println("Data change after !!");
        arr[0][0] = 99;
        System.out.println(arr[0][0]);
        System.out.println(arr1[0][0]);
    }
    

这段程序的输出结果是:

在这里插入图片描述

由结果可以看出,当对复制数组的某个元素进行改变时,被复制数组对应元素也随之改变,即对于引用数据类型来说clone()方法是 浅 拷 贝 \color{#FF0000}{浅拷贝}


• 由 ChiKong_Tam 写于 2020 年 9 月 16 日

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值