java - 为什么扩展接口(interface)的方法在实现扩展接口(interface)的类中不可见?

标签 java generics interface java-8

我对 java.time API(特别是 LocalDate)有疑问。

LocalDate 实现 ChronoLocalDate,并且它实现 Comparable。

当我做类似的事情时

LocalDate now = LocalDate.now();
now.getClass().getInterfaces();

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

附加组件:我最初的问题是,我有一个通用类,用于处理实现可比较的类型,但这显然不适用于 LocalDate,因为它不直接实现 Comparable。

这是泛型类的定义:

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

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

最佳答案

你的定义不应该看起来更像这样吗:

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

关于java - 为什么扩展接口(interface)的方法在实现扩展接口(interface)的类中不可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43777512/

相关文章:

java - JRE 仿真库中不存在的类/不能在客户端模式下使用

java - 是否有机会在我的项目中使用 Class <?, ?> ?

Java 泛型 - 命名实际类型的实际类型

java - 警告 : [unchecked] unchecked cast while using Generic Array

c# - 为什么在接口(interface)上定义的 C# 4 可选参数没有在实现类上强制执行?

pointers - &deployment 如何满足 kubernetes 代码中的 runtime.Object 类型?

java - 如何使用 JDBC 获取整行作为对象数组

java - 如何检查原始空数组

java - 无法使用eclipse创建android应用程序

Python - 从字符串创建矩阵