gpt4 book ai didi

Java 递归泛型和通配符

转载 作者:行者123 更新时间:2023-12-02 04:24:00 25 4
gpt4 key购买 nike

您好,我有一个关于 Java 和使用通配符与递归泛型的问题。我有以下界面

public interface Recursive<R extends Recursive<R>> {}

以及另一个使用递归接口(interface)的接口(interface)

public interface Use<R extends Recursive<R>> {}

现在我的界面看起来像这样

public interface Base<R extends Recursive<R>> {
Use<R>[] getUses();
}

基于该类,我想要一个使用这样的通配符的派生类

public class Derived extends Base<Recursive<?>> {
Use<?>[] getUses();
}

这是不允许的,但是我怎么能说我的泛型类型就是所有适合的类型呢?

最佳答案

您需要输入(带有右边界)您的子类,否则编译器无法断言该类的通配符与您的方法返回的类型相同,这是必需的。

试试这个:

public class Derived<R extends Recursive<R>> extends Base<R> {
Use<R>[] getUses();
}

关于Java 递归泛型和通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41970253/

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