public static void verify(Map<?,?> value){
value.put("1","2");
}这里编译器会报错。这是为什么呢?

解决方案 »

  1.   

    用的时候,泛型要指定类型:
    public static void verify(Map<String,String> value){
    value.put("1","2");
    }
      

  2.   

    要么不加这对<?,?>,加上的话对应的?就要换成对应的数据类型,java泛型 
      

  3.   

    要么写成Map<String,String> value
    要么写成Map value
    第一种写法调用value的put方法时自动检查键/值的数据类型。
      

  4.   

    错误主要是因为第一个?,必须是字符串,这个是不需要泛型表示的,后面一个可以。
    你这样写应该不会错: Map<"",?>