当前位置: 代码迷 >> J2EE >> HashMap有关问题
  详细解决方案

HashMap有关问题

热度:106   发布时间:2016-04-22 01:54:32.0
HashMap问题
Java code
import java.util.HashMap;public class AAA {    public static void main(String[] args) {        HashMap<Integer, String> map = new HashMap<Integer, String>();        String str = "1";        map.put(1, str);        System.out.println(map.get(1));        str = "2";        System.out.println(map.get(1));    }}

为什么结果是两个1而不是1和2呢?


------解决方案--------------------
很明显你是改变的str的值而已,相当于原本str指向一个地址1,然后你告诉了map这个地址,然后你的str又重新指向一个地址,现在这个地址的值为2了,但是你并没有给map,也没有改变map原先的指向,当然打印出来的也还是1了撒。
  相关解决方案