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製品導入事例などを厳選してお届けします。
AI活用で日本が米国に追い付く――PwC調査
PwC Japanグループが日本で実施した調査の結果から、日本企業によるAI活用が大きく進み、...
SaaS企業の成功メソッド「PLG」を実践するための組織作りとは?
成長を続けるSaaS企業には組織としての共通点がある。それは具体的にどのようなものだろ...
メディア総接触時間、「携帯電話/スマートフォン」が「テレビ」を上回り首位に
博報堂DYメディアパートナーズによる、生活者のメディア接触の現状を捉える年次調査の結...