【发布时间】:2014-12-13 22:55:53
【问题描述】:
我正在尝试使用https://docs.oracle.com/javase/specs/jls/se8/html/jls-18.html#jls-18.2.3https://docs.oracle.com/javase/specs/jls/se8/html/jls-18.html#jls-18.2.3Java 规范中概述的算法编写类型推断的实现
这里有一句我很难理解的含义:
"...在数组类型的 S 的超类型中,标识了一个最具体的类型,S'[](这可能是 S 本身)。"
S 本身如何不是是最具体的数组类型?换句话说,一个类型怎么可能有数组类型的超类型,而不是数组类型(因此是最具体的类型)?
我在这里遗漏了什么明显的东西吗?
感谢任何人提供的任何见解...
【问题讨论】:
-
您的标题不能准确代表您的实际问题。
-
标题问题相当于描述。我在描述中几乎逐字重复标题问题in...
-
你误解了你引用的段落。它没有说明 S 不是数组类型。它只是暗示 S 可能不是“最具体的”类型。
-
但是如果S 是 一个数组类型,那么它直接表明它是它及其所有超类型中最具体的数组类型。它不能有一个比它更具体的超类型,从定义上讲,这实际上是不可能发生的......
-
此外,问题已经解决。 S 可以是通配符类型,也可能是交集类型。
标签: java types specifications inference