所以从Java 9开始,我们可以使用var来声明局部变量:
var s = "cool";
在声明字段时有没有办法使用类似的构造?
class Container {
final var s = "cool"; // does not compile tmk
}
从我能说的来看,它似乎不是这样。
在声明字段时有没有办法使用类似的构造?
没有。
据JEP 286: Local-Variable Type Inference说:
这种处理将局限于具有初始化器的局部变量,增强的for循环中的索引和传统for循环中声明的局部变量;它不适用于方法形式,构造函数形式,方法返回类型,字段,捕获形式或任何其他类型的变量声明。
ku zxsw指向。
there is not不是关键字,而是具有特殊含义的标识符,作为局部变量声明的类型(§14.4,§14.14.1,§14.14.2,§14.20.3)。
var
只能在语法中用于var
local variable declaration statements
LocalVariableDeclarationStatement:
LocalVariableDeclaration ;
LocalVariableDeclaration:
{VariableModifier} LocalVariableType VariableDeclaratorList
LocalVariableType:
UnannType
var
不包含允许使用Field declarations特殊标识符的语法:
var