如何制作安全的日期设定方法

时间:2013-03-14 13:05:54

标签: java date

如何使Date setter方法安全。以下方法是否正确?

public void setBirthDate(Date birthDate) {
        birthDate = (Date)birthDate.clone();
}

由于 洁

2 个答案:

答案 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 ())。在这种情况下,您肯定知道会发生什么。