当前位置: 首页 > 面试题库 >

Java“类型参数X不在其范围内;应该实现可比”(LocalDateTime作为地图中的键)

笪健
2023-03-14
问题内容

我已经实现了自己的地图,称为AVLTreeMap。这是课程签名。

public class AVLTreeMap<K extends Comparable<K>, V>

如您所见,我在此映射中使用了可比较的键。问题是我想使用LocalDateTime类型键实例化地图。

private AVLTreeMap<LocalDateTime, CallRecord> callRecords;

我得到了错误Type parameter 'java.time.LocalDateTime' is not within its bound; should implement 'java.lang.Comparable<java.time.LocalDateTime>'

据我所知,LocalDateTime实现了Comparable<ChronoLocalDateTime<?>>,在这一点上,我对于如何使用LocalDateTime键集创建地图感到非常困惑。

有任何想法吗?


问题答案:

您对a的通用签名Comparable有点差,这

public class AVLTreeMap<K extends Comparable<K>, V>

应该是这样的

public class AVLTreeMap<K extends Comparable<? super K>, V>


 类似资料:
  • 我正在开发一个小的android演示应用程序,其中混合了一些java类和接口与kotlin。我想从一个名为MvpViewStateActivity的具有泛型类型参数的java类扩展: 其中只是一个空的java接口: MvpPresenter是这样一个java接口: 和SearchViewActivity(Java): 所以现在我创建了一个kotlin接口: 其中,Item是pojo数据类。 也是用

  • 我正在开发一个代理适配器,使用Java中的泛型将一个请求/响应转换为另一个请求/响应。 我有一个接口: 适配器的实现(仅以请求案例为例): 抽象类: 从Java中的泛型类型推断泛型类型(编译时错误) 我在那个问题上花了大约三天时间。有什么想法吗?谢了。

  • 问题内容: 为什么使用Java ?为什么有人在课堂上实施?你需要实现可比性的真实示例是什么? 问题答案: 这是一个真实的例子。请注意,它也实现。 后来..

  • 问题内容: 我想知道是否存在以下有效用例: 接受类型为where 的集合似乎是一种常见的模式(请参见Collections中的许多示例)。 但是,与基类进行比较时,在技术上似乎无法履行合同,因为无法确保另一类不会通过矛盾的比较来扩展基数。考虑以下示例: 我们有两个类,它们使用不遵循共同规则的比较进行扩展(如果存在共同规则,则几乎可以肯定在中实现)。但是,下面的破碎类将被编译: 只接受不安全吗?还是

  • 问题内容: 在更新到Xcode 10 beta(显然是Swift 4.1.50附带)之后,我看到以下错误,但不确定如何解决: 无法使用类型为((Range )’的参数列表来调用类型’Range ‘的初始化程序 在以下功能(第3行)中: 任何想法如何修复初始化程序? 问题答案: 一些背景: 在Swift 3中,引入了其他范围类型,总共增加了四种(例如,参见Ole Begemann:Swift 3中的

  • 问题内容: 我正在为一个涉及泛型的类项目。 当尝试在MySearchTree的声明中使用Course类时,我收到一个类型自变量错误,指出“课程不在类型变量K的范围内”。我花了很多时间试图弄清楚Course可能缺少哪些属性,以使其不符合要求,但却空洞了。 有任何想法吗? 问题答案: 在的基本类型为。因此必须“扩展” 。但是,它没有扩展。 我猜 应该以类似的方式对泛型 或 。