如以下代码,为什么两个change方法,都是返回的void,但map的值却变了,string的值没变,这是为何?
public class Test {
public static void main(String[] args) {
Map map = new HashMap();
map.put("a", "123");
change(map);
System.out.println(map);
String a = "aaa";
change(a);
System.out.println(a);
}
private static void change(String a) {
a = "bbb";
}
private static void change(Map map) {
map.put("b", "456");
}
}
输出:
{b=456, a=123}
aaa