gpt4 book ai didi

java - 不明白 的一些内容

转载 作者:行者123 更新时间:2023-12-02 22:55:41 25 4
gpt4 key购买 nike

例如我有一个类

class Element {}

我有一些类正在扩展这个类

class ExtraElement extends Element {}

那么这些陈述是否相同?

List<Element> list & List<? extends Element>

因为据我了解通配符定义了类族。在这两个语句中,我可以传递扩展类 Element 的任何元素,因此基本上是 Element 类的家族。

最佳答案

不,它们不一样。

List<? extends Element>可能是List<ExtraElement>或者它可能是 List<Element> ,但编译器无法知道它是哪一个。

如果是List<ExtraElement> ,您不能添加 SomeNonExtraElement例如,添加到列表中(但您可以将 SomeNonExtraElement 添加到 List<Element> 中)。

为了强制执行此操作,编译器不会让您向 List<? extends Something> 添加任何内容 .

关于java - 不明白 <T> 和 <?> 的一些内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26009879/

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