var 在Java中做什么?

问题描述 投票:4回答:1

我的一个朋友注意到

var<Integer> list = new ArrayList<Double>();

在Java中有效。事实证明list的类型被评估为ArrayList<Double>

[使用var<Integer> list = new ArrayList<>();时,list就是ArrayList<Object>

[我们两个人都无法弄清var的通用类型做什么,因为它似乎被忽略了。但是,如果是这样,为什么这在语法上甚至还是正确的呢?

java generics var ecj
1个回答
3
投票

事实证明,仅在具有JDT核心的Eclipse中允许使用var<T>,javac不接受。因此,我认为这是Eclipse中的错误。

© www.soinside.com 2019 - 2024. All rights reserved.