为什么扩展接口的方法在实现扩展接口的类中不可见?

时间:2017-05-04 08:21:02

标签: java generics interface java-8

我的java.time API存在问题,特别是LocalDate。

LocalDate实现了ChronoLocalDate,这实现了Comparable。

当我做

之类的事情时
LocalDate now = LocalDate.now();
now.getClass().getInterfaces();

它只在LocalDate中直接列出了接口,但没有列出ChronoLocalDate继承的接口。为什么会这样?

加载项:我的原始问题是我有一个泛型类处理实现可比较的类型,但这显然不适用于LocalDate,因为它不直接实现Comparable。

以下是泛型类的定义:

public final class Range<T extends Comparable<T> & Serializable> implements Serializable

我需要做些什么才能使这个泛型类定义适用于LocalDate类型?

1 个答案:

答案 0 :(得分:4)

你的定义不应该更像这样:

static final class Range<T extends Comparable<? super T> &   
          Serializable> implements Serializable {