如何使Date setter方法安全。以下方法是否正确?
public void setBirthDate(Date birthDate) {
birthDate = (Date)birthDate.clone();
}
由于 洁
答案 0 :(得分:0)
Date
是一种对象类型,但它是可变的,这意味着一旦创建了date
个对象,就可以对其进行更改。 Date
类从对象类实现clone()
。因此,使用克隆创建setter方法总是更好。
public void setBirthDate(Date birthDate) {
this.birthDate = (Date) birthDate.clone();
}
public Date getBirthDate() {
return (Date) this.birthDate.clone();
}
答案 1 :(得分:0)
您最好使用this.birthDate = new Date (birthDate.getTime ())
。在这种情况下,您肯定知道会发生什么。