在Java 10中引入了var关键字,它可以用来声明局部变量并让编译器推断变量的类型。在使用var声明变量时,编译器会根据初始化表达式的类型推断变量的类型。
当使用var声明一个变量时,编译器会推断变量的类型,但这并不意味着var可以用于声明类类型。var只能用于声明局部变量,不能用于声明实例变量、方法参数或返回类型。因此,var不能用于推断类类型,只能用于推断局部变量的类型。如果需要声明类类型的变量,仍然需要明确指定变量的类型。
例如,下面的代码是合法的,可以使用var声明一个局部变量:
var num = 10;
但是下面的代码是不合法的,因为var不能用于声明类类型的变量:
var list = new ArrayList<String>(); // 这行代码会编译错误