[英]Java Generics: what does <? extends Interface <?>> mean?
在上一篇文章之后,我希望有人可以帮助澄清/确认我对以下java泛型语句的理解,并提供一些有关最终含义的信息:
如果:
Class<abc> className = x
表示将abc
类型的x
分配给Class
变量className
和:
Class<? extends IAbc> className = x
将实现接口IAbc
x
分配给Class
变量className
是什么
Class<? extends IAbc<?>> className = x
意思?
那只是意味着IAbc
本身就是泛型类型IAbc<T>
,您要的是一个Class
对象,该对象表示IAbc
的某些参数化的某种实现,但您不知道(或不在乎)哪个。
更有趣的是
Class<? extends IAbc<? extends Number>>
它将接受实现IAbc<Number>
, IAbc<Integer>
, IAbc<Double>
等的任何类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.