Java 17 Silver ラボ

学習の画面へ

Java 17 Silver ・ 4. クラスの定義とインスタンスの使用

instanceof のパターン・マッチング の練習問題と解説

Java 17 Silver ラボ の「4. クラスの定義とインスタンスの使用 › instanceof のパターン・マッチング」の問題 6 問を載せています。問題を開くと、正解と選択肢ごとの解説が読めます。

instanceof のパターン・マッチング について

Java 16 で正式になったパターン・マッチングでは、instanceof で型を調べると同時に変数を宣言できます。書き方と、その変数を使える範囲が題材です。

if (o instanceof String s) と書くと、判定が true の所で s を String として使えます。&& の右側では s を使えますが、|| の右側では左側が false のとき (つまり String でないとき) に評価されるので、s は使えずコンパイルエラーです。if (!(o instanceof String s)) return; の後なら、その後ろで s を使えます。

null に対する instanceof は例外にならず false です。サブクラスのオブジェクトは親の型の instanceof でも true になります。変数の型からみて絶対に当てはまらない型 (たとえば Integer の変数を String で調べる) を書くと、コンパイルエラーになります。

問題 (6 問)

「instanceof のパターン・マッチング」をこのサイトで解く

広告