【发布时间】:2014-02-27 20:25:32
【问题描述】:
我正在学习 Java 泛型。我的理解是泛型按类型参数化集合。在 Oracle 教程中有如下评论:
在通用代码中,问号 (?),称为通配符, 表示未知类型。
在下一页有以下在参数中使用上限通配符的方法声明示例:
public void process(List<? extends Foo> list)
鉴于此,我想知道为什么这个方法声明是非法的:
public void process(List<E extends Number> list)
虽然这个是合法的:
public <E extends Number> void process(List<E> list)
【问题讨论】: