首页 > Java > java教程 > Java 泛型是如何做的? super` 通配符的工作原理及其局限性是什么?

Java 泛型是如何做的? super` 通配符的工作原理及其局限性是什么?

DDD
发布: 2024-11-25 06:17:16
原创
593 人浏览过

How Do Java Generics' `? super` Wildcards Work and What Are Their Limitations?

Java 泛型 Super 关键字

理解有界通配符

当我们将有界通配符与 super 一起使用时,意味着类型参数可以是指定类型或其任何超类。例如,列表表示列表可以保存 Number 类型的对象或其任何父类

向有界通配符添加元素

在第一个示例中,列表 list 声明为列表不能接受 Object,因为 Object 不是 Number 的子类。另一方面,Integer 是 Number 的子类,因此可以将其添加到列表中。

使用 Super 关键字的编译错误

在第二个示例中,您尝试传递 List到需要 List 的方法超级数字>。出现此编译错误是因为 String 不是 Number 的子类。您提出的逻辑不正确:对象不是 Number 的超类,String 不是 Number 的子类。

限制 通配符

与下限通配符不同,上限通配符不能用作生产者。这意味着您无法从 List 中获取单个元素。超级数字>。此限制的存在是为了防止类型安全违规。

结论

带有 super 的有界通配符允许我们创建可以使用从公共超类继承的多种类型的对象的集合。但是,在向这些集合添加元素时我们应该小心,因为我们不能添加不是指定超类的子类的对象。

以上是Java 泛型是如何做的? super` 通配符的工作原理及其局限性是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板