import java.util.*;
public class Tt {
public static Map<Integer, Integer> map = new HashMap<>();
static {
map.put(1, 1);
}
public static Map<Integer, Integer> getMap() {
return map;
}
}
public class Bb {
public static void main(String[] args) {
Map<Integer, Integer> m1 = Tt.getMap();
m1.put(1, 2);
Map<Integer, Integer> m2 = Tt.getMap();
System.out.print(m2.get(1));
}
}
如何设置使m1的设置不会干扰m2
import java.util.*;
public class Tt {
public static Map<Integer, Integer> map = new HashMap<>();
static {
map.put(1, 1);
}
public static Map<Integer, Integer> getMap() {
return new HashMap<>(map); // 返回一个克隆的 Map
}
}
public class Bb {
public static void main(String[] args) {
Map<Integer, Integer> m1 = Tt.getMap();
m1.put(1, 2);
Map<Integer, Integer> m2 = Tt.getMap();
System.out.print(m2.get(1)); // 输出 “1”
}
}