gpt4 book ai didi

java - 为什么 `var` 不能用于可以推断类型的非局部变量?

转载 作者:行者123 更新时间:2023-12-01 19:25:45 26 4
gpt4 key购买 nike

class ExampleClass {
var a = 0; // Not Allowed
static var b = 0; // Not Allowed

void exampleMethod() {
var c = 3; // Allowed
}
}

在上面的示例中,ab可以在编译时确定它们的类型。然而,var仅允许用于类型可推断的局部变量。我是否遗漏了一些设计原因来解释为什么会出现这种情况?

我看过这个question这解释了 var 背后的用途和意图,但其答复并未承认上述限制的原因。

最佳答案

一种说法是它根本就不是为此而设计的。

尽管 Java 10 中引入了“var”,但它也有其局限性。

文档清楚地说明了何时可以使用“var”,即仅在以下条件下:

  • Local variable declaration with Initialisers(i.e., methods and initializer blocks).
  • Indexes in enhanced for loops.
  • Index variables in traditional for loops.
  • Try-with-resources variable.

阅读文档 here

关于java - 为什么 `var` 不能用于可以推断类型的非局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59314816/

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