阅读Angelika Langer's superb Generics FAQ,我终于开始真正理解泛型的一些更微妙的点。术语“最左边”和“最右边”(指泛型)是如何得到其含义的?
但是我仍然对某些术语感兴趣。的“最左边”和“最右边”我的外行的理解是从兰格如何使用它her FAQ appararently不同。
“那段翻译类型擦除执行,这意味着 类型参数由它们最左边结合的取代或者没有结合 被指定的对象..”
.. 。
“类型擦除。最左边的上限用于类型擦除,而 替换字节码中的类型参数。在我们的类Box {...}中,所有出现的T将被 上限数字替换。例如,如果Box类具有类型T的私有字段 和用于设置该私有字段的方法void set(T content),则该字段在类型擦除之后将是类型Number,并且该方法将被转换为方法空隙组(编号的内容)... “
...
” 类型参数的类型擦除是其最左边的结合 ...“
鉴于Box< T extends Number >
;我的理解是,T
是类型参数,Number
是绑定。然后,因为Number
是类型参数T
的权,为什么不Number
称为“的最右边势必”?这仅仅是一个深奥的Mathemetician说话吗?它是否像正式类型理论,六个意味着九个,左边意味着正确?
有人可以教我为什么在右边被视觉印刷的东西被称为“最左边”类型理论?
在此先感谢。
这个称号不是英语什么特别的原因? –