広告スペース(バナー)
☕Java レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向7▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 51 / 68
ジェネリクスで汎用的な関数を書こう
このレッスンでは、Javaのジェネリクスを使って汎用的な関数を書く方法を学び、複数の型に対応できる柔軟なメソッドを作れるようになることを目標にします。「Java ジェネリクス 使い方」で調べている方向けです。
ジェネリクス(<T>)を使うと、型を1つに決めずに「どんな型でも使える」メソッドを書けます。数値にも文字列にも同じロジックを使い回したいときに便利です。
サンプルコードでは、static <T extends Comparable<T>> T larger(T a, T b)という定義により、数値のlarger(3, 7)と文字列のlarger("apple", "banana")のどちらも同じメソッドで比較できています。T extends Comparable<T>という制約が、比較可能な型に限定する役割を果たしています。
初心者がよくつまずくのが、型制約を付ける理由です。制約なしのTだけでは比較演算子が使えるとは限らず、Comparableのような制約をつけることで安全性を高められます。
実際の開発現場では、型ごとに同じようなメソッドを何度も書かずに済む、コードの再利用性を高める重要な機能としてジェネリクスが広く活用されています。
📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください
🧪 このサイトではJavaを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。
🎯
ここまでできればゴール達成!
型を問わず使い回せる、便利な比較関数が作れるようになります。
型を問わず使い回せる、便利な比較関数が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)