Java泛型绑定与原始类型不匹配

Java泛型绑定与原始类型不匹配,java,generics,jodatime,Java,Generics,Jodatime,我有一个超级班,签名是 public abstract class Foo<C extends Comparable<? super C>>{..} 公共抽象类Foo只需使用以下内容: public abstract class Foo<C extends Comparable<C>> 公共抽象类Foo 您的版本不起作用的原因是Instant被定义为extends compariablenotextends compariableJoda t

我有一个超级班,签名是

public abstract class Foo<C extends Comparable<? super C>>{..}
公共抽象类Foo只需使用以下内容:

public abstract class Foo<C extends Comparable<C>>
公共抽象类Foo

您的版本不起作用的原因是
Instant
被定义为
extends compariable
not
extends compariableJoda time 1.6不支持泛型,因此有三个选项

  • 创建一个实现正确接口的包装类并使用它
  • 抑制超类上的警告并处理丑陋
  • 升级至joda time 2.0,该版本支持Instant上的通用可比接口

  • 不幸的是,这也不起作用。我唯一能做的就是,但是我需要抑制警告…
    
    
    Bound mismatch: The type Instant is not a valid substitute for the bounded parameter <C extends Comparable<? super C>> of the type BigtablePoller<T,C>
    
    @SuppressWarnings("rawtypes")
    public abstract class Foo<C extends Comparable> {}
    
    public abstract class Foo<C extends Comparable<C>>