在jdk6.0+Eclipse3.2+MyEclipse的开发环境中下列语句出现错误:
Object sessionName = "usersession";
Object sessionValue = "testtest";
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(sessionName,sessionValue);有如下错误提示:
类型安全:方法 put(Object, Object)属于原始类型 Map。应该将对通用类
型 Map<K,V> 的引用参数化请问要如何修改.

解决方案 »

  1.   

    还在用jdk 1.42,不了解新语法
      

  2.   

    jdk6.0没有用过 但是肯定是 泛型的问题
      

  3.   

    你设置
    这个的时候
    getSessionMap().new HashMap(String,String);
      

  4.   

    Map<String,String> map  = new HashMap<String,String>();不好意思 上面写错了
      

  5.   

    没有用过java的stl,
    如果
    Map<String,String> map  = new HashMap<String,String>();
    正确的话,
    解释如下
    Map<String,String> map  ==> 申明一个Map接口变量,这个Map接口规定每一个条目 是 <String,String>new HashMap<String,String>(); ==> 新建一个HashMap对象,这个对象的条目是 <String,String>
      

  6.   

    照样用,没有问题
    只是泛型明确了对象类型,这样在使用的时候,取对象时不用造型,也避免了ClassCastException
      

  7.   

    请教kevinliuu(@.@),如何给这样的泛型类付值呢?谢谢.
      

  8.   

    to:sjjfMap<String,String> map  = new HashMap<String,String>();
    这样的用法也是有同样的错误信息提示.
      

  9.   

    Map<String,String> map = new HashMap<String,String>();如果你的编译环境是jdk1.5,这样是没有问题的
      

  10.   

    我们用java来解决实际问题。java技术交流,讨论java的技术细节和最新技术。欢迎中高级程序员加入讨论。QQ群:3001581
      

  11.   

    声明:
    String userKey="test";
    String userValue="password";
    Map<String,String> map = new HashMap<String,String>();
    map.put(userKey,userValue);
    使用:
    FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(userKey,map.get(userKey));
    这样的使用方法对不对?如果对,错误提示信息依旧存在.
      

  12.   

    没用过java^_^
    getSessionMap()
    返回Map<String,String>类型,估计是你返回了原始类型
      

  13.   

    Map<String,String> map  = new HashMap<String,String>();
    map = FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
    map.put(sessionName,sessionValue);
      

  14.   

    Object sessionName = "usersession";
    Object sessionValue = "testtest";
    FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(sessionName,sessionValue)按照搂主的意思,我觉得用该这样申明HaspMap
    Map<Object,Object> map = new HashMap<Object,Object>() 
    这样可以适用于比较多的类型。
      

  15.   

    to:JavaHurricane
    这种方式付值出现如下警告信息:
    Type safety: The expression of type Map needs unchecked conversion to 
     conform to Map<String,String>
      

  16.   

    map.get(userKey)
    这个强制转化为String
    (String)(map.get(userKey))
    warnning 信息不用管的,还是觉得1.4简单,没有这么多麻烦
      

  17.   

    Map<String,String> map = new HashMap<String,String>();如果你的编译环境是jdk1.5,这样是没有问题的---但是一定注意,如果你的server是jdk1.4,请不要使用范型!
      

  18.   

    FacesContext.getCurrentInstance().getExternalContext().getSessionMap();不知道你使用的库里有没有用范型,有可能警告是这句引起的。
      

  19.   

    现在支持jdk1.5的Web server应该比较多了啊~
      

  20.   

    应该是getSessionMap()的时候规定了类型了Map<K,V>
    可以考虑传参之前转行,输入正确的K, V
    如果是string的看
    toolscool(无情) ( ) 信誉:82    Blog