一个类型怎么可能有多个超类型,这些超类型是数组类型,而不是它本身是数组类型



我正在尝试使用 Java 规范中概述的算法编写类型推断的实现,https://docs.oracle.com/javase/specs/jls/se8/html/jls-18.html#jls-18.2.3

这里有一行我正在努力理解的一些含义:

"...在数组类型的 S 超类型中,标识了一个最具体的类型,S'[](这可能是 S 本身(。

S 本身怎么可能不是最具体的数组类型?换句话说,一个类型怎么可能具有超类型,这些超类型是数组类型,而不是它本身是数组类型(因此是最具体的类型(?

我在这里错过了一些明显的东西吗?

感谢任何人都可以提供的任何见解...

假设你有一个 Double[],选项是 Number[] 或 Object[],那么 Number[] 是最具体的匹配项。 执行类型推断时,可能存在多个约束。 它甚至可以推断出类型(Serializable[]和Comparable[](。

最新更新