整数配列、文字列配列の要素を並べ替えることができる単一の並べ替えメソッドを記述できれば便利です。 、または順序付けをサポートする任意のタイプの配列。
Java汎用メソッドと汎用クラスを使用すると、プログラマーは単一のメソッド宣言で関連するメソッドのセットを指定するか、単一のクラス宣言でセットを指定できます。
Genericsは、コンパイル時に無効な型をキャッチできるようにするコンパイル時の型の安全性も提供します。
Java Genericの概念を使用して、汎用メソッドを記述できます。オブジェクトの配列を並べ替えるには、整数配列、倍精度配列、文字列配列などを使用して汎用メソッドを呼び出し、配列要素を並べ替えます。
汎用メソッド
次のように記述できます。 caになることができる単一の汎用メソッド宣言さまざまなタイプの引数が含まれています。ジェネリックメソッドに渡される引数のタイプに基づいて、コンパイラは各メソッド呼び出しを適切に処理します。ジェネリックメソッドを定義するためのルールは次のとおりです-
-
すべてのジェネリックメソッド宣言には、角括弧で区切られた型パラメーターセクションがあります(<およびの例では、メソッドの戻り値の型(< E >の前にあるdivid = “6eac436f1b”>
) 。
各型パラメーターセクションには、コンマで区切られた1つ以上の型パラメーターが含まれます。型パラメーターは、型変数とも呼ばれ、ジェネリック型名を指定する識別子です。 。
型パラメーターを使用して、戻り値の型を宣言し、ジェネリックメソッドに渡される引数の型(実際の型引数と呼ばれる)のプレースホルダーとして機能できます。
ジェネリックメソッドの本体は、他のメソッドと同じように宣言されます。型パラメーターは、プリミティブ型(int、double、charなど)ではなく、参照型のみを表すことができることに注意してください。
例
次の例は、次の例を示しています。単一の汎用メソッドを使用して異なるタイプの配列を出力できます-
これにより、次の結果が生成されます-
出力
Array integerArray contains:1 2 3 4 5 Array doubleArray contains:1.1 2.2 3.3 4.4 Array characterArray contains:H E L L O
制限付き型パラメーター
型パラメーターに渡すことができる型の種類を制限したい場合があります。たとえば、数値を操作するメソッドは、 Numberまたはそのサブクラスのインスタンスのみを受け入れたい。これが制限付き型パラメーターの目的です。
制限付き型パラメーターを宣言するには、型パラメーターの名前、extendsキーワード、さらに続けてリストします。その上限。
例
次の例は、extendsが一般的な意味で「extends」(クラスのように)または「implements」(インターフェイスのように)を意味するためにどのように使用されるかを示しています。 。この例は、3つの比較可能なオブジェクトの最大のものを返す汎用メソッドです-
これにより、次の結果が生成されます-
出力
Max of 3, 4 and 5 is 5Max of 6.6,8.8 and 7.7 is 8.8Max of pear, apple and orange is pear
ジェネリッククラス
ジェネリッククラス宣言は、クラス名の後に型パラメーターセクションが続くことを除いて、非ジェネリッククラス宣言のように見えます。
ジェネリックと同様メソッドの場合、ジェネリッククラスの型パラメーターセクションには、1つ以上の型パラメーターをコンマで区切ることができます。これらのクラスは、1つ以上のパラメーターを受け入れるため、パラメーター化クラスまたはパラメーター化タイプと呼ばれます。
例
次の例は、ジェネリッククラスを定義する方法を示しています-
これにより、次の結果が生成されます-
出力
Integer Value :10String Value :Hello World