有很多次我认为使用clone()并不是一种糟糕的做法.是的,我知道这些论点.布洛赫说这很糟糕.他的确做到了,但他说实施clone()很糟糕.另一方面,使用clone,特别是如果它由可信库(如JDK)正确实现,则可以.
就在昨天,我讨论了我的一个答案,仅仅暗示使用clone()for ArrayList是可以的(并且由于这个原因没有投票,我猜).
如果我们看@author的ArrayList,我们可以看到一个熟悉的名字-乔希布洛赫.因此,clone()在ArrayList(和其他收藏品)是完全正常的(看看他们的实现).
同样的Calendar,也许是大多数java.lang和java.util类.
那么,请告诉我为什么不使用 clone() JDK类?
我在不同的包中有很少的Pojos,每个POJO包含来自同一个包的另一个pojo的集合.我需要将Package B Pojos中具有相同名称的所有项目复制到Package A中的对象.
Eaxmple:
package com.vanilla.packageA;
public class Student{
private String firstName;
private String lastName;
private Set<Course> course;
//getters and setters ommited
}
Run Code Online (Sandbox Code Playgroud)
package com.vanilla.packageA;
public class Course{
private String courseName;
private String courseDescription;
//seters and getters
}
Run Code Online (Sandbox Code Playgroud)
package com.vanilla.packageB;
public class Student{
private String firstName;
private String lastName;
private Address address;
private Set<Course> course;
Private Date birtday;
//getters and setters ommited
}
Run Code Online (Sandbox Code Playgroud)
package com.vanilla.packageB;
public class Course{
private String courseName;
private String courseDescription;
private <Lecturer> lecturer;
private Integer …Run Code Online (Sandbox Code Playgroud)