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

相關文章
相關標籤/搜索