Java ArrayList clone() 方法

AI 概述
语法返回值实例 clone() 方法用于拷贝一份动态数组,属于浅拷贝。 拓展: 浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存, 所以如果其中一个对象改变了这个地址,就会影响到另一个对象。。 浅拷贝对应的就是深拷贝,深拷贝是将一个对象从内存中完整的拷贝一份出来,从...
目录
文章目录隐藏
  1. 语法
  2. 返回值
  3. 实例

clone() 方法用于拷贝一份动态数组,属于浅拷贝。

拓展:

浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存, 所以如果其中一个对象改变了这个地址,就会影响到另一个对象。。

浅拷贝对应的就是深拷贝,深拷贝是将一个对象从内存中完整的拷贝一份出来,从堆内存中开辟一个新的区域存放新对象,且修改新对象不会影响原对象

语法

clone() 方法的语法为:

arraylist.clone()

注:arraylist 是 ArrayList 类的一个对象。

参数说明:

返回值

返回 ArrayList 对象。

实例

使用 ArrayList clone() 方法拷贝动态数组:

import java.util.ArrayList;

class Main {
    public static void main(String[] args){

        // 创建一个数组
        ArrayList<String> sites = new ArrayList<>();

        sites.add("Baidu");
        sites.add("Mybj");
        sites.add("Taobao");
        System.out.println("网站列表: " + sites);

        // 对 sites 进行拷贝
        ArrayList<String> cloneSites = (ArrayList<String>)sites.clone();
        System.out.println("拷贝 ArrayList: " + cloneSites);
    }
}

执行以上程序输出结果为:

网站列表: [Baidu, Mybj, Taobao]
拷贝 ArrayList: [Baidu, Mybj, Taobao]

在上面的示例中,我们创建一个名为 sites 的动态数组。注意表达式:

(ArrayList)sites.clone();
  • sites.clone() – 返回所拷贝的 sites 对象
  • (ArrayList <Integer>) – 返回的值转变成一个 String 类型的动态数组

输出 clone() 方法的返回值

import java.util.ArrayList;

class Main {
    public static void main(String[] args){

        // 创建一个数组
        ArrayList<String> sites = new ArrayList<>();

        sites.add("Baidu");
        sites.add("Mybj");
        sites.add("Taobao");
        System.out.println("网站列表: " + sites);

        // 输出 clone() 方法所返回的值
        System.out.println("clone() 返回值: " + sites.clone());
    }
}

执行以上程序输出结果为:

网站列表: [Baidu, Mybj, Taobao]
clone() 返回值: [Baidu, Mybj, Taobao]

在上面的实例中,我们创建了一个名为 sites 的动态数组。并且在这我们输出了 clone() 方法的返回值。

注意:clone() 方法并不是ArrayList 类中特定的方法。任何继承了 CLonable 接口的类都能够使用 clone() 方法。

以上关于Java ArrayList clone() 方法的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » Java ArrayList clone() 方法

发表回复