この質問は、次のようなコードを取り巻く問題を引き起こします(その質問からコピー):
public MyClass {
public void initialize(Collection<String> data) {
this.data = data; // <-- Bad!
}
private Collection<String> data;
}
参照を保存すると、プライベート フィールドに誤ってデータを挿入することにより、バグへの扉が開かれますdata
。Aaron Digulla によって受け入れられた回答は、セットをCollection.setUnmodifiable(set);
渡す前に凍結するポリシーを提案していますが、コレクションを変更したい人はコレクションをコピーして変更し、保存する必要があるため、パフォーマンスが低下すると彼は述べています。 .
非常にリソースが限られている Android 環境でこれを処理する際のベスト プラクティスはありますか?