HOWTO · Java
Java のジェネリック インターフェイス
このチュートリアルでは、Java のジェネリック インターフェイスについて説明します。
このページの内容
ジェネリック インターフェイス は、抽象データ型を処理できるインターフェイスです。 表現の詳細から独立して Java コレクションを操作するのに役立ちます。
主に、階層の形で複数の継承を実現するために使用されます。 Generic Interface には、すべてのメソッドのみを含めることができます。
一般的に使用されるクラスとは異なり、Generic Interface にはコンストラクタが含まれていません。
キーワード implements を使用することで、インターフェイスとの接続を簡単に作成できます。 Generic Interface を使用すると、以下のメリットが得られます。
- さまざまなデータ型を簡単に実装できます。
- 制約を入れることができます。
この記事では、Generic Interface とその使用方法について説明します。 トピックをより簡単にするために、例と説明を使用してトピックについて説明します。
Java のジェネリック インターフェイス
以下に、Generic Interface を使用して、文字配列と整数配列の両方から最大値を見つける例を示します。 この例のコードは次のようになります。
interface FindMinMax<T extends Comparable<T>> {
T Max();
}
class MyClass<T extends Comparable<T>> implements FindMinMax<T> {
T[] vals;
MyClass(T[] o) {
vals = o;
}
public T Max() {
T Value = vals[0];
for (int i = 1; i < vals.length; i++) {
if (vals[i].compareTo(Value) > 0) {
Value = vals[i];
}
}
return Value;
}
}
public class GenericInterface {
public static void main(String args[]) {
Integer nums[] = {10, 6, 2, 8, 6};
Character chars[] = {'b', 'r', 'p', 'Z'};
MyClass<Integer> a = new MyClass<Integer>(nums);
MyClass<Character> b = new MyClass<Character>(chars);
System.out.println("The max number is: " + a.Max());
System.out.println("The max character is: " + b.Max());
}
}
上記の例では、最初に Max() という名前の抽象メソッドを持つ FindMinMax という名前のインターフェイスを作成しました。 その後、MyClass という名前の別のクラスを作成し、インターフェイスでその抽象メソッドを定義しました。
最後に、1つの整数配列と 1つの文字配列を宣言するクラス GenericInterface を作成しました。 次に、数値用と chars 用の 2つのオブジェクトを作成しました。
最後に、結果を出力として出力しました。 上記のコードを実行すると、次のような出力が表示されます。
The max number is: 10
The max character is: r
重要な注意点は、いったん境界を確立したら、implements 句を使用して再度指定する必要がないということです。
Generic Interface を使用してクラスを実装する場合、すべてのクラスがジェネリックである必要があるため、インターフェイスに渡される型パラメーターを受け取ることができます。
ここで共有されているコード例は Java であり、システムに Java が含まれていない場合は、環境に Java をインストールする必要があることに注意してください。