如何使日期设置器方法安全。下面的方法正确吗?
public void setBirthDate(Date birthDate) {
birthDate = (Date)birthDate.clone();
}
谢谢杰
Date
是一种对象类型,但它是可变的,这意味着一旦date
创建了对象,就可以更改它。Date
类clone()
从对象类实现。因此,使用克隆创建 setter 方法总是更好。
public void setBirthDate(Date birthDate) {
this.birthDate = (Date) birthDate.clone();
}
public Date getBirthDate() {
return (Date) this.birthDate.clone();
}
你最好用this.birthDate = new Date (birthDate.getTime ())
. 在这种情况下,您肯定知道会发生什么。