Java10 本地变量类型推断

来源:这里教程网 时间:2026-02-17 21:21:36 作者:

Java10 本地变量类型推断

JEP 286 − 本地变量类型推断

本地变量类型推断是从Java 10开始可用的语言中最明显的变化之一。它允许使用var来定义一个变量,而无需指定其类型。编译器根据提供的值推断变量的类型。此类型推断仅限于局部变量。

旧的声明局部变量的方式。

String name = "Welcome to tutorialspoint.com";

声明局部变量的新方法。

var name = "Welcome to tutorialspoint.com";

现在编译器通过检查提供的值,将name变量的类型推断为String类型。

值得注意的几点

对于成员变量、方法参数和返回值,没有类型推断。

局部变量在声明时应该被初始化,否则编译器将无法推断并抛出错误。

局部变量的推断可以在循环语句的初始化块中使用。

没有运行时开销。由于编译器根据提供的值推断类型,因此没有性能损失。

没有动态类型更改。一旦推断出局部变量的类型,就不能更改。

通过使用局部变量类型推断,可以减少复杂的样板代码。

Map<Integer, String> mapNames = new HashMap<>();var mapNames1 = new HashMap<Integer, String>();

示例

以下程序展示了在JAVA 10中使用局部变量类型推断的示例。

import java.util.List;public class Tester {   public static void main(String[] args) {      var names = List.of("Julie", "Robert", "Chris", "Joseph");       for (var name : names) {         System.out.println(name);      }      System.out.println("");      for (var i = 0; i < names.size(); i++) {         System.out.println(names.get(i));      }   }}

输出

它将打印以下输出。

JulieRobertChrisJosephJulieRobertChrisJoseph

相关推荐