java var_Java 10 var的使用及限制

在Java 10的众多特性里,局部变量的类型推断是比较受大家关注的特性之一。这里简单介绍下它的使用以及限制。

在Java 7,声明一个列表我们会这样做:List list = new ArrayList();

Java 8/9可以改写为:List list = 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) {

//错误用法

}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值