clone() java 简单的复制

本文通过实例详细解析了Java中List的深拷贝与浅拷贝的区别,重点介绍了如何使用clone()方法实现浅拷贝,并展示了拷贝前后对象的变化情况,对于理解Java对象拷贝机制有重要帮助。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 Java的复制有的 deepcopy 和 shapecopy 之分,这里简单的采用shapecopy  的 clone ( ) 方法, 但是指向的是同一个对象, 关于对象的问题,这里不做展开:

// processing 软件

 import java.util.*; LinkedList<Integer> path = new LinkedList<Integer>(); path.add(5); path.add(22);
LinkedList<Integer> verpath = new LinkedList<Integer>(); // init.. verpath = (LinkedList) path.clone(); // copy 同时要进行转型 println(verpath);
verpath.add(2); println(verpath); println(path);
verpath.removeFirst(); println(verpath); println(path);

输出结果: 

[5, 22]
[5, 22, 2]
[5, 22]
[22, 2]
[5, 22]

总结: Java 的 List 的 clone( ) 方法需要被存放的数据结构要和源数据有相同的结构,并且一个发生变化不会改变另外一个的值。

 

转载于:https://www.cnblogs.com/qianyuesheng/p/11022614.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值