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