Map<?, ?> m = xxx.getMap();
String k = "a";
String v = "b";
m.put(k, v);   //这行eclipse会提示错误如果把第一行,修改为 Map m = xxx.getMap();
则4行不提示错误,但1,4行都有警告
xxx.getMap()是调用其他包的api,不能修改
我想去掉所有的警告,有没有合适的写法?

解决方案 »

  1.   

    Map <String, String> m = xxx.getMap();
    String k = "a";
    String v = "b";
    m.put(k, v);  
    这样试下。。
      

  2.   

    第一行不行。:) 
    即使用Map<Object, Object>第一行都会有警告。我的目标是去掉所有警告
      

  3.   

    class xxx{
        public Map<String, String> getMap(){
        ...
        }
    }Map<String, String> m = xxx.getMap();
      

  4.   

    xxx.getMap()返回的就是Map,其他类库提供的,不能修改。
    如果是自己写的,我也不至于跑到这里来问了。
      

  5.   

    要确定xxx.getMap() 返回的map的泛型参数类型,如果这个map中没有定义泛型
    那只有一种方法能搞定
    在方法上面加注解@SuppressWarnings("unchecked"),
    告诉它我确定类型没问题,请你不要给我提示拉。
    本来泛型就是给编译器看的,编译的时候就给去掉了不要在获得集合的时候用?,
    既然你都不知道接受的map中数据是什么类型,
    干嘛还要使用泛型,
    你怎么还敢往map里面添加数据