1 Java言語の変更のサマリー

次の表に、Java SE 9以降の新しいJava言語機能の概要を示します。

言語の新機能

次の表に、Java SE 9以降のJava言語の新機能を示します。

表1-1 Java言語の変更のサマリー

リリース 言語の新機能

9

Javaプラットフォーム・モジュール・システム(JSR 376): OpenJDKのProject Jigsawを参照してください

Milling Project Coin ( JEP 213): Java SE 9のJava言語の変更を参照してください

Javaプログラミング言語の小規模な拡張機能(JSR 334): Java SE 9のJava言語の変更を参照してください

10

ローカル変数の型推論 (JEP 286)

11

ラムダ・パラメータのローカル変数構文(JEP 323): ローカル変数の型推論を参照してください

14

switch式および文 (JEP 361)

15

テキスト・ブロック (JEP 378)

16

レコード・クラス (JEP 395)

instanceofによるパターン・マッチング (JEP 394)

17

シール・クラス (JEP 409)

21

レコード・パターン (JEP 440)

switchによるパターン・マッチング (JEP 441)

22

無名変数およびパターン (JEP 456)

永続的およびプレビュー言語機能

次の表に、Java SE 9以降のリリースごとに、どの言語機能が永続的になり、どの言語機能がプレビューされていたかを示します。プレビュー機能および永続化の方法の詳細は、プレビュー機能を参照してください。

表1-2 Java言語の変更のサマリー

リリース 永続的な機能 プレビュー機能

23

 

モジュール・インポート宣言

パターン、instanceofおよびswitchのプリミティブ型

暗黙的に宣言されたクラスおよびインスタンスのmainメソッド

柔軟なコンストラクタ本体

22

無名変数およびパターン (JEP 456)

super(...)の前の文

文字列テンプレート

暗黙的に宣言されたクラスおよびインスタンスのmainメソッド

21

レコード・パターン (JEP 440)

switchによるパターン・マッチング (JEP 441)

文字列テンプレート

無名パターンおよび変数

無名クラスおよびインスタンスのmainメソッド

20

 

switch式および文のパターン・マッチング

レコード・パターン

19

 

switch式および文のパターン・マッチング

レコード・パターン

18

 

switch式および文のパターン・マッチング

17

シール・クラス (JEP 409)

switch式および文のパターン・マッチング

16

レコード・クラス (JEP 395)

instanceofによるパターン・マッチング (JEP 394

シール・クラス

15

テキスト・ブロック (JEP 378)

シール・クラス

レコード・クラス

instanceofのパターン・マッチング

14

switch式および文 (JEP 361)

instanceof演算子のパターン・マッチング

レコード

テキスト・ブロック

13

 

テキスト・ブロック。テキスト・ブロックのプログラマーズ・ガイドを参照してください。

switch式

12

 

switch式

11

ラムダ・パラメータのローカル変数構文(JEP 323): ローカル変数の型推論を参照してください

 

10

ローカル変数の型推論 (JEP 286)

 

9

Javaプラットフォーム・モジュール・システム(JSR 376): OpenJDKのProject Jigsawを参照してください

Milling Project Coin (JEP 213): Java SE 9のJava言語の変更を参照してください

Javaプログラミング言語の小規模な拡張機能(JSR 334): Java SE 9のJava言語の変更を参照してください

 

言語機能の進化

次の表に、Java SE 9以降にJava言語に加えられた変更を示します。最初の列では機能を指定し、後続の列ではJava SEリリースを指定します。アイコンは、機能が永続的になった、指定されたリリースで取り下げられた、またはプレビュー機能として使用可能になったかどうかを指定します。

  • 永続的な機能: 永続的な機能
  • 取下済: 機能は取り下げられました
  • 1番目のプレビュー2番目のプレビュー3番目のプレビュー4番目のプレビュー: それぞれ1番目、2番目、3番目または4番目のプレビュー

プレビュー機能と、永続化または取消しの方法の詳細は、プレビュー機能を参照してください。

表1-3 Java SE 23からJava SE 17へのJava言語の変更

機能 23 22 21 20 19 18 17
モジュール・インポート宣言 1番目のプレビュー JEP 476            
パターン、instanceofおよびswitchのプリミティブ型 1番目のプレビュー JEP 455            
柔軟なコンストラクタ本体 2番目のプレビュー JEP 482 1番目のプレビュー JEP 447          
単純なソース・ファイルおよびインスタンスのMainメソッド 3番目のプレビュー JEP 477 2番目のプレビュー JEP 463 1番目のプレビュー JEP 445        
無名変数およびパターン   永続的な機能 JEP 456 1番目のプレビュー JEP 443        
文字列テンプレート 取下済 2番目のプレビュー JEP 459 1番目のプレビュー JEP 430        
レコード・パターン     永続的な機能 JEP 440 2番目のプレビュー JEP 432 1番目のプレビュー JEP 405    
switchによるパターン・マッチング     永続的な機能 JEP 441 4番目のプレビュー JEP 433 3番目のプレビュー JEP 427 2番目のプレビュー JEP 420 1番目のプレビュー JEP 406
シール・クラス             永続的な機能 JEP 409

表1-4 Java SE 16からJava SE 9へのJava言語の変更

機能 16 15 14 13 12 11 10 9
シール・クラス 2番目のプレビュー JEP 397 1番目のプレビュー JEP 360            
レコード・クラス 永続的な機能 JEP 395 2番目のプレビュー JEP 384 1番目のプレビュー JEP 359          
instanceofによるパターン・マッチング 永続的な機能 JEP 394 2番目のプレビュー JEP 375 1番目のプレビュー JEP 305          
テキスト・ブロック   永続的な機能 JEP 378 2番目のプレビュー JEP 368 1番目のプレビュー JEP 355        
switch式および文     永続的な機能 JEP 361 2番目のプレビュー JEP 354 1番目のプレビュー JEP 325      
ラムダ・パラメータのローカル変数構文: ローカル変数の型推論を参照してください           永続的な機能 JEP 323    
ローカル変数の型推論             永続的な機能 JEP 286  
Javaプラットフォーム・モジュール・システム: OpenJDKのProject Jigsawを参照してください               永続的な機能 JSR 376
Milling Project Coin: Java SE 9のJava言語の変更を参照してください               永続的な機能 JEP 213
Javaプログラミング言語の小規模な拡張機能: Java SE 9のJava言語の変更を参照してください               永続的な機能 JSR 334