2011-12-05 5 views
4

私はキャッシュされたデータをユーザーが変更するのを防ぐためにreadonlyコレクションを使用しますが、アイテム自体は大変です。 そのような行為を防ぐ方法はありますか?不変のコレクションですか?

ミシェル

+1

不変の項目を使用してください。 – CodesInChaos

+0

可変オブジェクトではなく、不変オブジェクトを返しますか? –

+0

そして、どうしたら項目を変更することができますか? – Michel

答えて

6

どちらのキャッシュされたアイテムが自分自身を不変、またはコピーオブジェクトのを通過します。

+0

どのように私はキャッシュされたアイテムを不変にすることができますか? – Michel

+0

@Michel - あなたは不変のオブジェクトを作り、それをキャッシュします。 – Oded

0

専用のコンストラクタを設定することができます。そのため、内部アイテムのみがインスタンスを作成できます。

また、あなたは読み取り専用の値を入れて、コンストラクタを使用することができます....

関連する問題