gpt4 book ai didi

Java 泛型 - 类型参数 `K` 不在其范围内;应该实现 X

转载 作者:搜寻专家 更新时间:2023-10-31 19:51:35 26 4
gpt4 key购买 nike

我正在阅读有关泛型的 Java 文档,特别是 this page在有界类型上迷路了。这是我的代码的一个简单版本,对于上下文,我通常想要一个可比较的键,一个带有 Integer 的键。和另一个带有 Date 的抽象类,这里只是基础抽象类和整数实现:

抽象类:

public abstract class A<K extends Comparable<K>, V> extends TreeMap<K, V>

整数抽象类:

public abstract class B<K extends Integer, V> extends A<K,V>

我得到的错误是在 extends A<K,V> 部分的第二个类的类型引用中.具体来说,我的 IDE 是 K 的基础并显示 Type parameter 'K' is not within its bound; should implement 'java.lang.Comparable<K>'

我对此感到困惑,因为在 Integer 的定义中, 它实现了一个 Comparable<Integer> ,这还不够满足​​吗?此外,当我尝试执行以下操作时,public abstract class B<K extends Integer & Comparable<K>, V> extends A<K,V> , 那也不管用。

我对泛型有什么误解吗?

最佳答案

因为 Integer 是一个最终类,B 的正确定义应该是:

public abstract class B<V> extends A<Integer,V> {

}

您不需要 K 类型参数。

关于Java 泛型 - 类型参数 `K` 不在其范围内;应该实现 X,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56161809/

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