これは、さらに多くの質問に続く1 & 2です。JavaのDateオブジェクトの変更可能性に関するFindbugsの問題
質問に以下のコード
public Date getSomeDate() {
return someDate;
}
に語ったように、あなたにfindbugエラーissueを与えるでしょう。
提案された解決策は、これは良いアプローチです
public Date getSomeDate() {
return new Date(someDate.getTime());
}
のように両方のゲッターとセッターでDateオブジェクトを複製したり、これに任意の代替方法があることでしたか?
この問題を克服できる、Javaで使用可能な不変の日付ライブラリがありますか?
あなたは不変の権利を意味ですか?とにかく、述べられたアプローチは完璧です。 –
@PrinceJohnWesley:ありがとうございます。 Qを更新しました。あなたはgetterとsetterのすべてでDateコンストラクタを使用することをOKと言っていますか? – ManuPK
外部ライブラリへの呼び出しを公開しない限り。あなたが何をするかを知っているので、それを深くクローンする必要はありません(コンストラクタ)。それ以外の場合は、変更可能な場合は常に差分参照を与えます。 joda time api –