gpt4 book ai didi

Java 10 : Will Java 7's Diamond Inference Work with Local Type Inference?

转载 作者:IT老高 更新时间:2023-10-28 20:55:21 25 4
gpt4 key购买 nike

来自 JEP 286 ,我们看到我们将能够在 JDK 10 (18.3) 中利用本地类型推断 (var)。 JEP 声明以下编译,这是预期的:

var list = new ArrayList<String>();  // infers ArrayList<String>

我很想知道如果我们尝试以下操作会发生什么:

var list = new ArrayList<>();

我在第二个片段中提出的建议甚至可以编译吗?如果是这样(我怀疑),ArrayList 会接受 Object 作为其泛型类型吗?

我会自己尝试,但我无法访问任何可以安装早期版本的机器。

谢谢!

最佳答案

是的,var 和菱形运算符可以组合在一起。编译器会推断出最具体的泛型类型:

var list = new ArrayList<>(); // Infers ArrayList<Object>
var list = new ArrayList<>(List.of(1, 2, 3)); // Infers ArrayList<Integer>

您甚至可以将它们与匿名类结合起来:

var list = new ArrayList<>() {};

关于Java 10 : Will Java 7's Diamond Inference Work with Local Type Inference?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48428434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com