JDK10的局部类型局部变量类型推断功能

Posted GetKnowledge+

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK10的局部类型局部变量类型推断功能相关的知识,希望对你有一定的参考价值。

北京时间 3 月 21 日,Oracle 官方宣布 Java 10 正式发布,据说jdk10新增了109项特性,其中最受关注的是局部变量类型推断功能(local-variable type inference capability)。举个小栗子看下:

    以遍历输出ArrayList中的内容为例 ,使用从JDK9中新增的JShell工具执行

  

 jdk10之前大多是这个样子滴

  eclipse中的代码

JDK10的局部类型局部变量类型推断功能

jdk10可以是这个样子滴

先看下eclipse中的情况,可以看到他是不识别var类型的,这是为什么呢,

JDK10的局部类型局部变量类型推断功能

我用的最新版的eclipse,可以在这里看到,目前该版本的eclipse最大支持到JDK9,还是不支持JDK10的

JDK10的局部类型局部变量类型推断功能

那怎么办呢,用记事本写方法,编译运行,NO!依然用JShell

如下

JDK10的局部类型局部变量类型推断功能

,可以看到程序正常执行了,那这里的var类型被识别为什么类型了,我们编译一下代码如下的java文件,生成class文件后,反编译一下看看


反编译class文件,

可以看到,这就是没有本地变量类型推断的时候写的代码,var类型被编译器赋予了正确的类型



以上是关于JDK10的局部类型局部变量类型推断功能的主要内容,如果未能解决你的问题,请参考以下文章

JDK11 | 第三篇 : 局部变量类型推断

局部变量类型推断未被识别

jdk11新特性——局部变量类型推断(var ”关键字”)

jdk11新特性——局部变量类型推断(var ”关键字”)

JDK10新特性

java新特性--06--JDK10