java 泛型问题,通配符赋值,怎么解决?
下面的test方法中使用了通配符,但是两句test()函数的调用都有编译错误,为什么?说是参数不适用。
该怎么解决?
class Test {
HashMap<String, List<String>> maplist1 = new HashMap<String, List<String>>();
HashMap<String, List<Integer>> maplist2 = new HashMap<String, List<Integer>>();
public void a() {
test(maplist1);
test(maplist2);
}
public void test(Map<String, List<?>> maplist) {
System.out.println("OK");
}
}
该怎么解决?
class Test {
HashMap<String, List<String>> maplist1 = new HashMap<String, List<String>>();
HashMap<String, List<Integer>> maplist2 = new HashMap<String, List<Integer>>();
public void a() {
test(maplist1);
test(maplist2);
}
public void test(Map<String, List<?>> maplist) {
System.out.println("OK");
}
}
...全文
相关推荐
浅谈Java泛型通配符解决了泛型的许多诟病(如不能重载)
这就是泛型不能重载的问题。为了解决这个问题,Java引入了泛型通配符。通配符允许我们在定义方法参数时使用一个不确定的类型边界。最常见的通配符是 `?`,它可以表示任何类型。`?
java泛型
为了解决这一问题并增强类型安全性,Java引入了泛型机制。#### 二、泛型的目的1.
java泛型学习
#### 六、使用通配符类型解决构造问题- **通配符的作用**:通过使用通配符类型 `Set<?>`,可以在一定程度上绕过类型未知带来的限制。
Java泛型学习笔记.pdf
类型擦除使得泛型可以与旧的代码无缝兼容,但也是为什么不能实例化泛型类型和创建泛型数组的原因。11. 泛型的潜在问题和解决方案:虽然泛型带来了许多便利,但它也引入了复杂性。
java数组、泛型、集合在多态中的使用及对比
如示例所示,尝试将`ArrayList<Dog>`赋值给`ArrayList<Animal>`会导致编译错误。为了解决这个问题,Java引入了通配符`?`,特别是`<?


Java SE
