gpt4 book ai didi

Java 泛型——如何阅读这个 : Foo>>?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:25:54 25 4
gpt4 key购买 nike

我正在更新 Java 泛型(在 JDK 1.4...1.3 甚至 1.3 的遗留代码上工作了很长时间)但我不太明白这一点:

public class Foo<T extends Bar<? extends Foo<T>>> { ...

其中 FooBar 是两个泛型类。

这怎么理解,因为我不太明白?

我已经阅读了很多关于 Java 泛型的文章,但这有点让人费解(至少对我这个初学者来说)。

最佳答案

嗯,Foo必须由 T 参数化.那T本身必须扩展 Bar<U>对于某些类型 U这样 U延伸Foo<T> . (在这种情况下,“扩展”可能意味着“与”类型相同。)我使用了 U此处作为任意类型名称,但在声明中未命名,因此 ? .

你是对的,这有点令人费解,但通常在出现这种情况的情况下,它最终会使事情变得更简单。如果您能举一个具体的例子,我们可能会解释得更有用一些。

关于Java 泛型——如何阅读这个 : Foo<T extends Bar<? extends Foo<T>>>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5914637/

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