HashMap中的put方法的参数可以是基本数据类型吗?
例如:
HashMap map = new HashMap();
map.put(1,"abc");  在一本书的例子上是这样做的,在一个朋友的电脑上也是可以这样做,但是在我电脑上实验的时候就会提示错误。
这是什么原因呢?
jdk都是6.0的

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【kimi_jw】截止到2008-07-12 20:56:25的历史汇总数据(不包括此帖):
    发帖的总数量:2                        发帖的总分数:40                       每贴平均分数:20                       
    回帖的总数量:3                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:2                        未结的总分数:40                       
    结贴的百分比:0.00  %               结分的百分比:0.00  %                  
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    仅仅是有警告吧
    应该这样写
    HashMap<Integer,String> map = new HashMap<Integer,String>();
    map.put(1,"abc"); 
    当然不导入包是有错误的
    要在最前面
    import java.util.HashMap;
      

  3.   

    提示的不是警告,是错误,具体内容记不清楚,好像是说put(Object,Object),参数不能是基本数据类型。
    在通过的电脑上提示的确实是警告。
      

  4.   

    你是在 Eclipse 下做的么?
      

  5.   


    你先确定下吧,如果是的话,Eclipse 编译用的JDK不是你机器上你自己装的,而是它自己带有的可能。
      

  6.   

    是不行的,需要转化为objectjdk的源代码
        public Object put(Object key, Object value) {
    throw new UnsupportedOperationException();
        }
      

  7.   

    应该是jdk版本的问题吧,用泛型约束下吧.
      

  8.   

    看样泛型以后要好好学着用了,最近看了thinking in java,看泛型开始还可以,越看越迷惑,以前从来没接触过
      

  9.   

    据我发现,好像value不能用整数常量,除非new Integer(1);
      

  10.   

    如果你是jdk6,那只有一个可能你选错了编译的级别,你用了 1.4/1.3兼容的了。在 Properties 里面的 【Java Compiler】 里面修改你的编译级别,选成 6.0 就行了。
      

  11.   


    支持紫竹大哥的观点,我以前遇到过类似的问题,就是用eclipse的时候,它使用了自己带的默认的jdk,而不是用你之前安装的jdk了。