public class Student { private int id; private String name; public Student() { } public Student(int id, String name) { this.id = id; this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "[" + id + ", " + name + "]"; }}Student one = new Student(1, "Tim");Student two = new Student(2, "Jack"); Map<Integer, Student> map = new HashMap<Integer, Student>();map.put(one.getId(), one);map.put(two.getId(), two); Student tmp = map.get(1);tmp.setName("New"); // {1=[1, New], 2=[2, Jack]}可以发现我将Map中的某项取出来并进行了修改,那么Map中的相应项也会被修改,所以说是引用传递的,但是有些情况我就是想把这个东西拿出来用并作些修改,但是Map的数据作为原始值是不想被变更的,这种情况下应该怎么办呢?
添加回答
举报
0/150
提交
取消