Java汎用メソッドの定義と使用スキル

王林
リリース: 2024-04-12 17:12:02
オリジナル
629 人が閲覧しました

回答: Java のジェネリック メソッドにより、コードは複数の型と互換性を持つことができます。定義: 山括弧 <T> を使用して、パラメーターと戻り値の型情報を指定します。使用法: さまざまなタイプのコレクションを操作したり、さまざまなタイプのオブジェクトを比較したりするために使用できます。制限された型パラメーター: extends キーワードを使用して、型を特定の型に制限することを指定します。実践的な戦闘: 汎用メソッドは、クイック ソートなどの一般的なソート アルゴリズムの作成に適しています。

Java 泛型方法的定义和使用技巧

Java 汎用メソッドの定義と使用スキル

はじめに

Pan Typeメソッドを使用すると、複数の型で動作するコードを作成できるため、コードの再利用性と柔軟性が向上します。

ジェネリック メソッドを定義する

ジェネリック メソッドを定義するには、メソッド名の後に山括弧 <> を使用して型パラメーターを指定します:

public static <T> void swap(T[] array, int i, int j) {
    T temp = array[i];
    array[i] = array[j];
    array[j] = temp;
}
ログイン後にコピー

この例の <T> は、メソッドのパラメータと戻り値の型情報が不明であることを示します。

ジェネリック メソッドの使用

ジェネリック メソッドを使用して、さまざまな型のコレクションを操作できます:

Integer[] numbers = {1, 2, 3};
swap(numbers, 0, 2); // 交换数字 1 和 3
ログイン後にコピー

同様に、ジェネリック メソッドを使用して次のことを行うこともできます。異なる型のオブジェクトを比較します:

public static <T extends Comparable<T>> int compare(T a, T b) {
    return a.compareTo(b);
}

int result = compare("Hello", "World"); // 比较字符串
ログイン後にコピー

境界型パラメーターの使用

extends キーワードを使用して、ジェネリック型パラメーターが特定の型にバインドされるように指定できます:

public static <T extends Number> double sum(T[] array) {
    double total = 0.0;
    for (T element : array) {
        total += element.doubleValue();
    }
    return total;
}

double sum = sum(new Integer[]{1, 2, 3}); // 求整数和
ログイン後にコピー

実用的なケース: 並べ替えアルゴリズム

汎用メソッドは、クイック ソートなどの一般的な並べ替えアルゴリズムの作成に非常に適しています:

public static <T extends Comparable<T>> void quickSort(T[] array) {
    // 略...
}

// 排序整数数组
int[] numbers = {2, 5, 1, 7, 3};
quickSort(numbers);

// 排序字符串数组
String[] strings = {"Hello", "World", "Java"};
quickSort(strings);
ログイン後にコピー

以上がJava汎用メソッドの定義と使用スキルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート