栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java泛型类型中的通配符参数处于其范围之内的正式条件是什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java泛型类型中的通配符参数处于其范围之内的正式条件是什么?

关于泛型的JLS是不完整的,您还发现了另一个漏洞。类型变量的下限几乎没有讨论,并且在规范上

X
对上限
Number
和下限都没有任何限制
Runnable
。他们可能忽略了它。

直观上,必须至少存在一个同时满足类型变量上限和下限的可能类型,否则该变量以及使用该变量的所有类型将无用。由于这几乎肯定是编程错误,因此编译应该失败。

很容易检查上限和下限是否构成了一组空的类型。下界的所有超类型都是已知的;至少其中一个应该是上限,否则两个范围内都没有类型。

-

这两种

Foo<? extends A>
情况在规范中都有很好的定义。随着采集转换,我们有新的变量类型
X
有上限
A &Number
,并规范说为上限
V1&...&Vm

如果对于Vi和Vj中的任何两个类(不是接口),Vi不是Vj的子类,反之亦然,则是编译时错误。

因此,如果A = Thread,捕获转换将失败。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/391297.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号