Java ArrayList clone() 方法
目录
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() 方法
码云笔记 » Java ArrayList clone() 方法