java克隆对象
一. Cloneable + clone方法实现拷贝
示例代码如下:
static class Account implements Cloneable{ public int id; public String name; @Override protected Account clone() { try { return (Account) super.clone(); } catch (CloneNotSupportedException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } } static class User implements Cloneable{ public String name; public Account account; @Override protected User clone() { User user; try { user = (User)super.clone(); user.account = account.clone();//引用类型,要显示拷贝,否则就是浅拷贝了; return user; } catch (CloneNotSupportedException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } }
二.实现Serializable接口
java通过对象的序列化和反序列化实现克隆,可以实现真正的深克隆
三.利用第三方工具
利用BeanUtils,apache和spring都提供了这个bean工具。只是他也是浅克隆
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构