gpt4 book ai didi

Java 通用 : Can a Generic extends another Generic class?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:40:14 24 4
gpt4 key购买 nike

这是我的问题,我有三个抽象类,它们都是通用的,我想要这样的东西:

public abstract class AbstracOne< T extends AbstractTwo< K extends AbstractThree<K> >>>

这不起作用,我收到以下错误(在第二个扩展上):

token “扩展”的语法错误,预期。

但是,如果我使用下面的代码,它是有效的:

public abstract class AbstracOne< T extends AbstractTwo< ? extends AbstractThree<?> >>>

那么,使用 K 和 有什么区别呢?

非常感谢

最佳答案

类型参数与类型参数

您可以阅读这篇优秀的 FAQ by Angelica Langer清除这种区别。

泛型类具有类型参数,当您使用泛型类时,这些类型参数由类型实参代替。

类型参数可以有约束。类型参数可以是完全限定类型或先前定义的类型参数。

因此,如果 K 已经定义,您可以使用它。您还可以在定义时添加约束。

public abstract class AbstractOne<K extends AbstractThree<K>, T extends AbstractTwo<K>>

祝你好运。

关于Java 通用 : Can a Generic extends another Generic class?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41575998/

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