Java“Type参数X不在其范围内;应该实现Comparable <x>”(LocalDateTime作为map中的键)

时间:2017-10-15 05:30:05

标签: java

我已经实现了自己的Map,名为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密钥集创建地图感到困惑。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

Comparable的通用签名有点不对,这个

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

应该像

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