以下の例を使用したJoshua Bloch の防御的コピー手法のエレガントな Java 実装はありますか? nullChecking は本当に問題だと思いますが、防御的なコピーを実現するためのより簡単な方法があるかもしれません。
public class Audit {
private Date dateCompleted;
...
public Audit() {
super();
}
//defensive copy of dateCompleted
public final Date getDateCompleted() {
if (dateCompleted != null){
return new Date(dateCompleted.getTime());
}else{
return null;
}
}
public final void setDateCompleted(Date dateCompleted) {
if (dateCompleted != null){
this.dateCompleted = new Date(dateCompleted.getTime());
}else{
this.dateCompleted = null;
}
}
...
}