0

私のクラスには 2 つの MultiValueMap
MapAありMapBます。2 つのマップは同じです。私は繰り返し使用してMapA、いくつかの変更を行いましたMapB。しかし、それはに影響を与えていMapAます。MapAも変化しています。なぜそれが起こるのか。

編集

シンプルなコード

MultiValueMap myMap = new MultiValueMap();
myMap.put("A", "1");
myMap.put("B", "2");

myMap.put("C", "3");

myMap.put("D", "4");

System.out.println("Mymap => "+myMap);
MultiValueMap sec = myMap;

if(myMap.containsKey("A"))
{
    sec.getCollection("A").clear();
    sec.put("A", "11");


}


System.out.println(myMap); // {D=[4], A=[11], B=[2], C=[3]}
System.out.println(sec); // {D=[4], A=[11], B=[2], C=[3]}
4

2 に答える 2

0

MultiValueMap sec = myMap;コピーを作成しません。secとまったく同じものを参照MultiValueMapmyMapます。

于 2013-08-28T15:58:53.257 に答える