【发布时间】:2016-09-21 12:43:33
【问题描述】:
在泛型中
class A<T extends Number> 是允许的
但是
class A<T super Integer> 不允许
我不明白这一点。这可能听起来像新手问题,但我被困在其中
【问题讨论】:
-
@akhil 通配符
?不允许在班级级别 -
“如果我错了,请纠正我”:Producer Extends; Consumer Super。所以
super用于将数据放入结构中;取出时使用extends。 -
通配符 ?在 Java 中是一个特殊的实参,用于实例化泛型(参数化)类型。它可以用于实例化,而不是在通用单元的定义中。
-
Angelika Langer 在常见问题解答中明确回答了这个问题:Why is there no lower bound for type parameters?。 (长话短说:这没有意义......)
标签: java generics inheritance polymorphism