java泛型方法怎么定义和使用
Javaのジェネリックメソッドはメソッドの宣言時に型パラメータを使用して、メソッド内で特定されない型を使用することができます。
- ジェネリック型のパラメータは、メソッド修飾子と戻り値の型の間の尖括弧 (<>) で宣言します。例: public void methodName(T parameter)。
- ジェネリック型の引数で変数の宣言、メソッド引数や戻り値の型の定義をメソッド内部で行うことができます。たとえば、
public <T> void printArray(T[] array) {
for (T element : array) {
System.out.println(element);
}
}
- ジェネリックメソッドを呼び出す際に、型パラメータを直接渡すか、メソッドパラメータの型から型パラメータを推論できます。例:
Integer[] intArray = {1, 2, 3, 4, 5};
String[] stringArray = {"Hello", "World"};
printArray(intArray); // 直接传入类型参数
printArray(stringArray);
printArray(new Double[]{1.0, 2.0, 3.0}); // 根据方法参数的类型推断类型参数
ご注意ください。
- ジェネリックメソッドでは複数の型パラメータが使用でき、コンマで区切られます。例: public <T, U> void methodName(T parameter1, U parameter2)。
- ジェネリック型パラメータは、特定のクラスまたはインターフェイスのサブクラスまたは実装クラスに限定できます。たとえば、`public void methodName(T parameter)` は、`T` が `Number` またはそのサブクラスである必要があることを示します。
- ジェネリックメソッドは通常のメソッドとオーバーロードすることができ、メソッドパラメータの型に応じて使用時に選択できます。例えば、public void methodName(Integer parameter) の通常のメソッドと、public void methodName(T parameter) のジェネリックメソッドがある場合、パラメータの型によって異なるメソッドの呼び出しが選択されます。