Java:HashMap中的Key能否使用简单类型,为什么

解决方案 »

  1.   


    但是这样写是可以的
    int i = 4;
    Map map = new HashMap();
    map.put("sss",123);
    map.put(1,123);
    map.put(i,321);
    无解,都行。。
      

  2.   

    java 5之后,提供了autoboxing功能,即自动装箱,对于基本类型会自动转换成相应的封装类型。
    比如
    map.put("sss",123);
    经过编译器的处理,实际成为
    map.put("sss",Integer.valueOf(123));
    加入的还是一个Integer类型的引用。