「Java 17」のうれしい機能「Recordクラス」「テキストブロック」は何が便利?「Java 17」注目機能5選【前編】

JavaのLTS(長期サポート版)「Java 17」には、どのような機能があるのか。注目すべき機能のうち「Recordクラス」「テキストブロック」を取り上げる。

2021年11月09日 05時00分 公開
[Cameron McKenzieTechTarget]

関連キーワード

Java | Oracle(オラクル)


 開発者はアプリケーションを開発するとき、利用するプログラミング言語の特定のLTS(長期サポート版)をベースにすることが一般的だ。プログラミング言語および開発・実行環境「Java」では、「Java 8」または「Java 11」が該当する。

 2021年9月にOracleがLTS「Java 17」の提供を始めた。同社はJava 11からJava 17へのバージョンアップに際して、アプリケーション開発に役立つさまざまな機能を追加した。前後編にわたって、開発者にメリットをもたらすJava 17の機能5個を紹介する。

機能1.Recordクラス

 Javaの難点の一つは、「Python」「Groovy」など比較的新しいプログラミング言語と比べて冗長で形式張っていると捉えられがちなところだ。Recordクラスはこの問題を軽減する。

 クラスとは、変数(データの入れ物)やメソッド(データに対する操作)をまとめた設計図だ。Javaのクラスはデータのみを扱うものが少なくない。インスタンス(クラスの設計に沿って生成した実体)が存続する間、データが変わらないようにしたい――。Recordクラスはこうした条件に適したクラスを実現する。

 Recordクラスでは、後からクラスの構造やデータを変更できない。Recordクラスは状態が固定であることによって、Javaプログラムを実行する「Java仮想マシン」(JVM)の効率を高め、Javaアプリケーションにスケーラビリティをもたらす。

機能2.テキストブロック

 Java 11準拠のJavaプログラムでは、文字列操作の際に文字列の連結演算子やエスケープシーケンス(特定の文字を表すための代替文字列)が必要だった。Java 17では連結演算子やエスケープシーケンスを使わずに複数行の文字列を扱える「テキストブロック」を使用できるようになり、Javaプログラム内での文字列の操作が簡単になった。


 後編は、残る3機能を紹介する。

TechTarget発 先取りITトレンド

米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。

ITmedia マーケティング新着記事

news079.jpg

狙うは「銀髪経済」 中国でアクティブシニア事業を展開する企業とマイクロアドが合弁会社を設立
マイクロアドは中国の上海東犁と合弁会社を設立。中国ビジネスの拡大を狙う日本企業のプ...

news068.jpg

社会人1年目と2年目の意識調査2024 「出世したいと思わない」社会人1年生は44%、2年生は53%
ソニー生命保険が毎年実施している「社会人1年目と2年目の意識調査」の2024年版の結果です。

news202.jpg

KARTEに欲しい機能をAIの支援の下で開発 プレイドが「KARTE Craft」の一般提供を開始
サーバレスでKARTEに欲しい機能を、AIの支援の下で開発できる。