我正在尝试使用 Java 规范中概述的算法编写类型推断的实现代码,地址为 https://docs.oracle.com/javase/specs/jls/se8/html/jls-18.html#jls-18.2.3
这里有一行包含一些我难以理解的含义:
“...在作为数组类型的 S 的父类(super class)型中,确定了一个最具体的类型,S'[](这可能是 S 本身)。”
S 本身如何不是 是最具体的数组类型?换句话说,一个类型怎么可能有作为数组类型的父类(super class)型,而不是它本身是数组类型(因此是最具体的类型)?
我是否遗漏了一些明显的东西?
感谢任何人可以提供的任何见解...
最佳答案
假设您有一个 Double[] 并且选项是 Number[] 或 Object[],那么 Number[] 是最具体的匹配项。执行类型推断时,可能会有多个约束。它甚至可以推断类型 (Serializable[] & Comparable[])
关于java - 一个类型如何有多个父类(super class)型,它们是数组类型,而不是它本身是数组类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27464511/