こんにちはCTOのsakasaiです。
Java21が9月にリリースされて2ヶ月位経ちましたが、LTS(Long Term Support:長期サポート)バージョンということで、今後新規プロジェクト等で利用されることが増えていくと思います。
Java21での変更点は色々あるようですが、プレビューの機能としてJava入門でおなじみのmainメソッドが簡潔に実装・実行できるようになるというものがあります。
まだ自分で試せていなかったので、IntelliJ IDEAでサクッと試してみました。
環境
- macOS Sonoma 14.1.1
- IntelliJ IDEA 2023.2.5
- Java21
openjdk version "21.0.1" 2023-10-17 LTS
OpenJDK Runtime Environment Corretto-21.0.1.12.1 (build 21.0.1+12-LTS)
OpenJDK 64-Bit Server VM Corretto-21.0.1.12.1 (build 21.0.1+12-LTS, mixed mode, sharing)
実行
まず、新規プロジェクトでプロジェクトを作成します。

作成されるとMain.javaにMainクラス、mainメソッドが実装された状態になっています。

次にJava21プレビューでビルド・実行するように設定します。
右上の歯車アイコンからプロジェクト構造を選択し、プロジェクト設定→言語レベルのプルダウンから「21 (Preview)」を選択します。


設定ができたら、一旦そのままの状態(Mainクラスのmainメソッド)で実行してみます。

正常に実行されました。

それでは今回の本題の簡略化した書き方に変えます。
真っ赤になりますが、気にせず実行します。

正常に実行されました。

まとめ
正式採用が待ち遠しいです。