2

Date setter メソッドを安全にする方法。以下のアプローチは正しいですか?

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

ありがとうジャイ

4

2 に答える 2

0

を使用した方がよいでしょうthis.birthDate = new Date (birthDate.getTime ())。この場合、何が起こるかは確実にわかります。

于 2013-03-14T13:32:42.953 に答える
0

Dateはオブジェクト タイプですが、変更可能です。つまり、dateオブジェクトが作成されると、変更できます。クラスはオブジェクト クラスからDate実装されます。clone()そのため、クローンを使用してセッター メソッドを作成することをお勧めします。

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

public Date getBirthDate() {  
    return (Date) this.birthDate.clone();  
} 
于 2013-03-14T13:15:46.457 に答える