java 10 的局部变量类型推导(Local Variable Type Inference )

其实说到变量类型推导,咱们很容易连联想到一些脚本语言,在(http://openjdk.java.net/jeps/286)中,java提出这个新特性。java

Enhance the Java Language to extend type inference to declarations of local variables with initializers.linux

记得在入门 Java 的时候,以为就像 C++ 的增强版,在 Java 最开始的版本中,一直都是强类型语言,须要在声明变量的时候规定是什么类型。而后有些人以为 Java 是一种冗长的语言,须要一种精确、简洁的方式来编写Java代码。其实我以为这样不是也挺好的哈。Java 7 在某种程度上解决了这个问题。Java 10添加了带有初始化器的局部变量类型推断,以消除冗长。shell

而后咱们能够先安装一下,openjdk10,能够在这个网址下载(http://jdk.java.net/10/)函数

 wget https://download.java.net/java/GA/jdk10/10.0.1/fb4372174a714e6b8c52526dc134031e/10/openjdk-10.0.1_linux-x64_bin.tar.gz .net

而后解压 tar xvf openjdk-10*_bin.tar.gz 配置一下就行了,参考(https://blog.csdn.net/felix_ghc/article/details/52291381)blog

vi /etc/profileget

加入如下内容,而后 source /etc/profileit

而后看看当前的 Java 版本io

而后使用 Jshell 来用用,果真是能够这么写的,使用 var 来定义变量名入门

可是这种类型推导,并不适合如下这种类型推导 

而后咱们还能够试试这种for each,固然 for (var i=0;i<arr.length;i++) 这种也是能够的。

在某些状况下,此功能不能有效使用:

    构造函数的参数

    方法的参数

    null 也是不行的

    return 类型也是不行的

    还有类的属性字段

    

 

参考:

https://dzone.com/articles/java-10-local-variable-type-inference

相关文章
相关标签/搜索