Java10 本地变量类型推断
JEP 286 − 本地变量类型推断
本地变量类型推断是从Java 10开始可用的语言中最明显的变化之一。它允许使用var来定义一个变量,而无需指定其类型。编译器根据提供的值推断变量的类型。此类型推断仅限于局部变量。
旧的声明局部变量的方式。
声明局部变量的新方法。
现在编译器通过检查提供的值,将name变量的类型推断为String类型。
值得注意的几点
- 对于成员变量、方法参数和返回值,没有类型推断。
-
局部变量在声明时应该被初始化,否则编译器将无法推断并抛出错误。
-
局部变量的推断可以在循环语句的初始化块中使用。
-
没有运行时开销。由于编译器根据提供的值推断类型,因此没有性能损失。
-
没有动态类型更改。一旦推断出局部变量的类型,就不能更改。
-
通过使用局部变量类型推断,可以减少复杂的样板代码。
示例
以下程序展示了在JAVA 10中使用局部变量类型推断的示例。
输出
它将打印以下输出。