我的一个朋友注意到
var<Integer> list = new ArrayList<Double>();
在 Java 中有效。事实证明,类型list
被评估为ArrayList<Double>
.
使用时var<Integer> list = new ArrayList<>();
, list
只是ArrayList<Object>
.
我们俩都无法弄清楚,通用类型是什么var
确实如此,因为它似乎被忽略了。但如果是这样,为什么这在语法上是正确的呢?
事实证明,使用var<T>
仅在具有 JDT 核心的 Eclipse 中允许,javac 不接受这一点。因此,我认为这是 Eclipse 中的一个错误。
编辑:正如@MC Empire 所示,这绝对是一个错误。我已将此错误添加到 Eclipse Bugzilla 中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)