北京时间2018年3月21日,Java 10如约而至。虽然这一版本带来的特性并不是非常多,但其中有一项仍然成为大家关注的热点,它就是局部变量类型推断
在Java 7,声明一个列表我们会这样做:
Listlist = new ArrayList();
Java 8/9可以改写为:
Listlist = new ArrayList();
等式右边的类型会根据左边声明List所指定的类型推断出。
Java 10引入了var,声明列表:
var list = new ArrayList();
JDK会把列表的泛型类型推断为Object。
var声明的为局部变量,它允许开发人员跳过局部变量类型的声明,局部变量的类型会由JDK推断出。
var使用位置
1、在static初始化代码块里使用:
static {
var name= "张三";
System.out.println("Hello, " + name);
}
2、方法体里的局部变量
public void sayHello() {
var name = "李四";
System.out.println("Hello, " + name);
}
3、for循环
var names = new ArrayList();
for(var name : names) {
System.out.println(name);
}
4、接收方法的返回值
public Integer doSomething() {
//...
}
var result = doSomething();
var并不是保留字,是允许“var”作为变量名使用。
var var = 10;
var禁止使用的地方
var并不是在所有地方都能够使用,这里列一下不能使用var的地方。
1、不能作为构造函数的参数
public class Demo {
public Demo(var param) {
//错误用法
}
}
2、不能作为方法的参数
public void doSomething(var param1, var param2) {
//错误用法
}
3、不能用作catch的参数
try {
//...
} catch(var ex) {
//错误用法
}
现在大家对var的使用是不是有了全新的认识呢?
希望这篇文章可以帮助到你,总之同学们,it资讯尽在职坐标。