【发布时间】:2016-11-09 12:16:00
【问题描述】:
<T extends Number> void m1(List<T> list) {
list.add(list.get(0));
}
void m2(List<? extends Number> list) {
list.add(list.get(0));
}
我发现很难理解上述两种方法之间的区别。
第一种方法m1()编译成功,但是方法m2()产生编译错误:
List<capture#1-of ? extends Number>类型中的方法add(capture#1-of ? extends Number)不适用于参数(capture#2-of ? extends Number)
【问题讨论】:
-
TypeErasure....
标签: java