java - Java中具有大量子类的类的深拷贝
问题描述
我有这门课
class Cars implements Transport, Serializable, Cloneable {
private String type;
private Models[] cars;
private int number;
private static final long serialVersionUID = 1L;
Cars(String type, int number){
this.type = type;
this.number = number;
cars = new Models[number];
for (int i = 0; i < number; i++){
cars[i] = new Models("default"+i, Double.NaN);
}
}
private class Models implements Serializable{
private String model;
private double price;
我需要覆盖 clone() 以使用 super.clone() 深度复制此对象。我怎样才能做到这一点?
解决方案
您可能正在寻找https://www.baeldung.com/java-deep-copy中给出的内容
clone() 方法将返回一个浅拷贝。您必须使用新对象手动填充这个浅拷贝的可变字段。这将使您的副本成为深层副本。
推荐阅读
- excel - Excel“将随机值放入单元格并运行排列”最简单的问题
- ios - IOS:发送大数据视频
- python - 使用 ImageDataGenerator 进行随机正交、90 度旋转
- gstreamer - hlssink 不分割视频也不创建播放列表
- microsoft-teams - 是否可以以编程方式(例如使用图表)将选项卡添加到聊天中
- hibernate - hibernate + 单表继承 + discriminatorColumn --> DiscriminatorType 无法解析为变量
- operating-system - 为未加密的文件设置密码
- python - 迭代地在二叉树中插入值
- php - 如何在不使用会话和调用方法的情况下将变量从函数传递到控制器中的另一个函数
- python - PyQt5:无法设置来自不同文件的类