java支持类Foo ,如果没有,为什么?
java支持class Foo
,如果没有,为什么?
其中T是类型参数,X是类型。
不可以?
在声明(消费者)变量或某些通用类型的方法参数(消费者)时,generics上下文中的super
关键字只能与通配符( ?
)结合使用。
例如,这些是有效的:
List super Something> list = someListReference; public void methodThatPopulatesAList(List super Something> consumer) { ... list.add(new Something()); ... }
更多信息:
- 什么是PECS?
- Java中的通配符
上课 :
class Foo
对象:
Object extends X>
你可以使用generics声明Foo super X>
Foo super X>
为了使这样的事情成为可能:
List super Integer> foo3 = new ArrayList
但你不能在课堂宣言中使用它