【发布时间】:2017-07-10 21:35:40
【问题描述】:
我已经在 Car 类的构造函数中调用了:
public Car(Map<String, ? extends List<? extends WingMirror>> wingMirrorMap) {
doSomething(wingMirrorMap); // Here i have error
}
private static <L extends List<M>, M extends WingMirror<T>, T> Map<String, L> doSomething (Map<String, L> wingMirrorMap) {
// Do something with wingMirrorMap
}
通过传递参数wingMirrorMap,我遵循了错误:
The method doSomething(Map<String,L>) in the type Car is not applicable for the arguments (Map<String,capture#2-of ? extends List<? extends WingMirror>>)
为什么它不起作用。我看不出方法调用有什么问题。
【问题讨论】:
-
Color什么时候变成参数化类型了? -
这里是颜色类的定义
public class Color<T> extends SuperColor<T> {} -
啊,那不是
java.awt.Color。您的部分问题可能是一个Color已参数化,而另一个未参数化。 -
不要将你的类型命名为众所周知的
java.*类型。 -
现在 cmets 造成混乱,改回颜色!
标签: java generics collections