キーが文字列で、値が別のクラスのオブジェクトである Map を含むクラスがあります。
Class Employee {
String name;
}
Class Company {
Map<String, Employee> m =new HashMap<String, Employee>();
}
2 つの Company オブジェクト obj1 と obj2 があり、あるオブジェクトから別のオブジェクトにマップをコピーしたいと考えています。
以下のいずれかを行うと、
obj1 = obj2 or
obj1.setM(obj2.getM()) // assume we have setters and getters
ここで、obj1 のマップを操作して、obj2 が持つ同じ Company オブジェクトの Employee の別のオブジェクトを指す値を作成すると、obj2 のマップも影響を受けます。
キーと値を新しいマップにコピーしてオブジェクトに割り当てる以外に、マップの内容を別のオブジェクトのマップにコピーして、1 つのマップを操作しても他のマップに影響を与えないようにする方法はありますか。どんな提案でも大歓迎です。