Java 10 がリリースされ、ローカル変数型推論が使えるようになったということで、環境構築してみました。 業務アプリではクラス名が長くなりがちなので、変数の初期化で右辺から型が明確な場合は積極的に使うとコードが簡潔になる効果があります。
JDK は以下のページからダウンロードできます。
Java SE - Downloads | Oracle Technology Network | Oracle
REPL である JShell が標準装備されました。IDE を開かなくても 手軽に API を試せたりするのがいいですね。
ローカル変数型推論ちゃんと使えました。JShell では単一ステートメントのセミコロンは省略できますし Java なのに可愛く思えるから不思議です。
IntelliJ IDEA も 2018年最初のメジャーアップデート 2018.1 がリリースされたので、早速更新。
File -> Project Structure の Platform Settings -> SDKs で JDK を指定します。macOS の場合は /Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home/
を指定します。
Project Settings -> Project の Project SDK: で登録した 10 (java version "10")
を選択、Project language level: で 10 - Local variable type inference
を選択します。
これで、ローカル変数で var を使ったコードがコンパイルできるようになります。
(追記)
IntelliJ IDEA 上でも、JShell を使えます。
Tools -> JShell Console...
で起動します。jshell_console_1.snippet にコード片を入力し、⌘ + Return で JShell shell_console_1 に実行結果が出力されます。スニペットウィンドウ上での選択範囲だけを実行させることもできます。
コードアシスト機能も発動しますし、JRE で JDK 10 を選択していれば、ローカル変数型推論も有効になります*1。
(追記終わり)
Java 界隈も半年ごとのメジャーリリースへとリリースサイクルが変わったり、Java EE が Jakarta EE になったりと色々動き出てきました。プロダクション投入の本命は LTS が適用される Java 11 になると思われます。
Java 1.2 ぐらいから業務で使ってるけど、もう20年経つんですね。。
*1:スニペットウィンドウではなぜかエラーっぽい表示ですが