「Java 17」で利用可能な機能の中には、アプリケーション開発を支援するさまざまな機能がある。例外処理、switch文、継承に関する機能を解説する。
2021年9月にOracleはプログラミング言語・実行環境「Java」のLTS(長期サポート版)「Java 17」を提供開始した。前編「『Java 17』のうれしい機能『Recordクラス』『テキストブロック』は何が便利?」に続く本稿は、開発者にメリットをもたらすJava 17の機能5個のうち、残る3個を取り上げる。
適切に書かれたプログラムでも、null値(データがない状態)の参照によるエラーが発生することは少なくない。Javaにおいてこのエラーを「NullPointerException」と呼ぶ。
Javaのログには、NullPointerExceptionが発生したときにどのオブジェクト(データと処理をまとめたもの)に問題があるのか、プログラムが何を参照したのかを知る手掛かりが多くなかった。Java 17ではnullだった変数の正確な名前がログに記録されるようになったことで、NullPointerExceptionの原因がより分かりやすくなった。
「switch」文は条件分岐を扱うための文だ。Javaのswitch文は複雑な条件分岐ロジックに適している。一方で条件ごとの処理で「break」を書かないと、後続の条件の処理も実行される点は直観的とは言えない。これはswitch文でエラーが起こりやすい原因となっていた。
Java 17ではswitch文で矢印(->)を使うことで、breakを使わずに後続の条件の処理を実行することなく指定の処理を実行できる。これによってswitch文が読みやすくなるとともに、ソースコードの記述やデバッグも容易になった。
クラス(オブジェクトの基となる設計図)の「継承」は、基となるクラスの変数(データの入れ物)やメソッド(データに対する操作)を引き継いで、新たなクラスを作成することだ。これまでは継承に基づいてオブジェクトが不正に作成されるのを防ぐ仕組みが、Javaにはほとんどなかった。
Java 17で正式に導入されたSealedクラスは、継承が想定外に使用されるのを防ぎやすくする。Sealedクラスは、継承できる変数やメソッドの名前を明示的に宣言できるクラスだ。
Java 17は構文や機能に大きな変更はないが、Java開発者にとって役立つ小さな改良が複数盛り込まれている。そうした改良は全て、Javaがこれからも開発に適したプログラミング言語であり続ける要因となるだろう。
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
HubSpot CMSにWebサイトの「定石」を実装 WACUL×100のパッケージ第1弾を提供開始
WACULと100は共同で、Webサイトの「定石」をHubSpotで実装する「Webサイト構築パッケージ...
電通調査で「料理は面倒」が6割超 なぜそうなった?
電通の国内電通グループ横断プロジェクト「電通 食生活ラボ」は、「食生活に関する生活者...
売り上げは予想の11倍 英国の老舗銀行がデータの分断を乗り越えて実現した「オムニチャネルバンキング」とは?
金融業界において、最新のイノベーションの活用によって銀行業務の現状と可能性に関する...