gpt4 book ai didi

java - 通用列表<>层次结构困惑

转载 作者:搜寻专家 更新时间:2023-11-01 02:21:30 25 4
gpt4 key购买 nike

Wildcards and Subtyping - Oracle Documentation

This document has a diagram shows the relationships between several List classes declared with both upper and lower bounded wildcards. The relationship as depicted in the picture below:

Generic list hierarchy

在右侧层次结构中,List<? super Number>List<? super Integer> 的子类型.是不是很困惑?

据我解释,List<? super Number>可以用任何 List<type> 表示其中 typeNumberNumber 的父类(super class).同样的逻辑适用于 List<? super Integer>还。那么如何才能List<? super Number>List<? super Integer> 的子类型?

最佳答案

这是因为List<? super Number>只能容纳Number及其父类(super class),同时 List<? super Integer>可以容纳相同的+整数。

您可以这样想:如果项目类型限制更多,那么此类项目的列表在继承层次结构中较低。你可以放一个List<? super Number>List<? super Integer> 类型的变量中,但反之则不然。

查看项目类型如何相互包含,这可能对您有帮助:

enter image description here

关于java - 通用列表<>层次结构困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40365639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com