/** * ドメイン非依存URL出力フィルタ * javadrill.tech移行時はwp_options.home/siteurlのみ変更すればよい * * データベースには絶対URL(https://minner.asia)を保持し、 * 表示時に現在のドメイン(home_url())に動的変換する */ function javadrill_make_urls_dynamic($content) { if (empty($content)) { return $content; } // データベース内の絶対URLを現在のhome_url()に置換 $old_url = 'https://minner.asia'; $new_url = untrailingslashit(home_url()); // http版も対応(念のため) $content = str_replace($old_url, $new_url, $content); $content = str_replace('http://minner.asia', $new_url, $content); return $content; } // 投稿本文、ウィジェット、タームの説明、抜粋に適用 add_filter('the_content', 'javadrill_make_urls_dynamic', 20); add_filter('widget_text', 'javadrill_make_urls_dynamic', 20); add_filter('term_description', 'javadrill_make_urls_dynamic', 20); add_filter('get_the_excerpt', 'javadrill_make_urls_dynamic', 20); 015 ポリモーフィズム(ダウンキャスト) 011 問題 | Javaドリル

015 ポリモーフィズム(ダウンキャスト) 011 問題

015-011 015 ポリモーフィズム

問題

ポリモーフィズムにおいて、インスタンスの実際の型が不明な場合の注意点を考える問題。インスタンスが特定の型であるかどうかを確認してからダウンキャストし、NullPointerException を回避してみてください。

ヒント

  1. instanceof 演算子の使用:
    • ダウンキャストする前に、対象のオブジェクトが特定の型であるかどうかを確認するために instanceof 演算子を使用します。
    • instanceof 演算子は、対象のオブジェクトが指定された型のインスタンスである場合に true を返し、それ以外の場合には false を返します。
  2. 条件分岐での型確認:
    • instanceof 演算子の結果に基づいて条件分岐を行います。
    • もしオブジェクトが指定された型であれば、安全にダウンキャストを行います。
    • そうでない場合、ダウンキャストを行わずに処理をスキップするなど、適切な対応を行います。
  3. NullPointerException を回避:
    • ダウンキャストする前に、オブジェクトが null でないことも確認します。
    • null の場合にはダウンキャストを行わずに、例外を回避します。
  4. 例外処理の考慮:
    • ダウンキャストに失敗した場合に備えて、適切な例外処理を検討します。
    • 例外処理により、プログラムの実行が中断されることなく安全に処理を続行できます。

これらのポイントを考慮して、ポリモーフィズムにおいてインスタンスの実際の型が不明な場合の安全なダウンキャストを行うコードを構築してみてください。

→解答例

「015 ポリモーフィズム」問題集リスト

🎯 実習で理解を深めよう

この内容についてJavaDrillで実際に手を動かして学習できます

コメント

タイトルとURLをコピーしました