java10中的关键字var

java中的var

还在研究java8的流的时候,java已经更新到了13,这让尔等研发如何追赶它的速度呀!尤其是某天搜博客突然看到了var,以为搜索出了错,怎么出现了js片段,原来是自己的孤陋寡闻!
没错,Java中的var关键字来了!

java10中的var关键字

1、本地变量类型推断

在以前的版本中,我们想定义定义局部变量时。我们需要在赋值的左侧提供显式类型,并在赋值的右边提供实现类型,如下面的片段所示:

MyObject value = new MyObject();
List list = new ArrayList();

在Java 10中,你可以这样定义对象:

var value = new MyObject();
var list = new ArrayList();

正如你所看到的,本地变量类型推断将引入“var”关键字,而不需要显式的规范变量的类型。

2、编译器对var的处理

在处理 var时,编译器先是查看表达式右边部分,也就是所谓的构造器,并将它作为变量的类型,然后将该类型写入字节码当中。

attention

只能用于带有构造器的局部变量,以下场景不适用

var foo; foo = "Foo";
var ints = {0, 1, 2};
var appendSpace = a -> a + " ";
private var getFoo(){}

除了局部变量,for循环是唯一可以使用 var的地方:

var numbers = List.of("a", "b", "c");
for (var nr : numbers)
System.out.print(nr + " ");'
for (var i = 0; i < numbers.size(); i++)
System.out.print(numbers.get(i) + " ");
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值