不変オブジェクトに可変フィールドを含む可変オブジェクトの防御コピーを作成するにはどうすればよいですか?
class ImmutableObject {
private final MutableObject immutable_field;
ImmutableObject(MutableObject y) {
this.immutable_field = y;
}
}
class MutableObject {
public int mutable_field;
}
- MutableObjectには、フィールドを設定できるコンストラクターがありません。
- MutableObjectの現在の状態は、Immutable Objectにキャプチャされ、変更されないようにする必要があります。