代码之家  ›  专栏  ›  技术社区  ›  Steven Schlansker

具有预泛型原始类型的泛型边界

  •  1
  • Steven Schlansker  · 技术社区  · 14 年前

    我有一个元素类型为 <K extends Comparable<K>> 因为这是命令。

    我想用乔达 LocalTime 有了这个系列-例如。 MyCollection<LocalTime> . 不幸的是,显然Joda是前泛型的; 当地时间 实现原始 Comparable .

    我发现了编译器错误

    Bound mismatch: The type LocalTime is not a valid substitute 
    for the bounded parameter <K extends Comparable<K>> of the type Interval<K>
    

    我希望这只是一个警告,因为很有可能将原始类型分配给类型化变量。

    为什么这不管用,我该怎么办?

    下面是一个最小的代码示例:

    class Holder<K extends Comparable<K>> { }
    class WTF extends Holder<LocalTime> { }
    
    1 回复  |  直到 14 年前
        1
  •  1
  •   Reese Moore    14 年前

    你可以创建一个包装类 LocalTime 哪一个 implements Comparable<K> 并通过所有方法调用。