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

参数化类型数组

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

参数化类型数组

具体参数化类型的数组固有地被破坏。请记住,数组是协变的,数组类型检查是运行时操作。在运行时,所有泛型都已被擦除,因此Array
Store检查无法

<Pair<ParseNode, ParseNode>>
从中分辨出来
<Pair<BigInteger,IOException>>

泛型的基本约定是:“我,编译器,保证如果编写的代码不生成警告,则在运行时永远不会得到类强制转换异常。”

编译器也不能向您保证,如果

ArrayList<Pair<ParseNode,ParseNode>>
在数组中放置了非的内容,它将能够给您带来编译时错误。如果添加错误的类型,运行时系统也无法保证会得到ArrayStoreException(如Language
Specification所述),而不是稍后将其取回时抛出ClassCastException。(第二部分实际上就是为什么它实际上是非法的,而不仅仅是警告,它会导致数组不遵守语言规范。)

因此,它不允许您以这种方式声明它们,并迫使您承认“不安全”警告。这样说:“我告诉过您,我不能保证使用此数组不会导致任何类强制转换异常,这取决于您确保只在此处放置正确的东西。”



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

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

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