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) + " ");

你可能感兴趣的:(java10中的关键字var)