在上一期 Heinz Kabutz 的时事通讯#255 Java 10: Inferred Local Variables中,表明它var
不是 Java 10 中的保留字,因为您也可以将var
其用作标识符:
public class Java10 {
var var = 42; // <-- this works
}
但是,您不能使用 ieassert
作为标识符,如var assert = 2
,因为assert
是保留字。
正如链接的时事通讯中所说,var
不是保留字的事实是个好消息,因为这允许来自以前版本的 Java 的var
用作标识符的代码在 Java 10 中编译而不会出现问题。
那么,那var
又是什么呢?它既不是显式类型也不是语言的保留字,因此它可以作为标识符,但是在 Java 10 中用于声明局部变量时它确实具有特殊含义。我们在上下文中究竟如何称呼它局部变量声明?
此外,除了支持向后兼容性(通过允许包含作为标识符的旧代码进行编译)之外,不作为保留字var
还有其他优点吗?var