Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職

ジェネリックメソッドの定義

ジェネリックメソッドは、メソッドの引数をメソッド呼び出しの際に決められるメソッドのことです。ジェネリッククラスとは独立したものなので、混同しないように注意してください。
たとえば以下は、Arraysクラス(java.utilパッケージ)のコードを抜粋したものです。copyOfメソッドは、与えられた配列をコピーするためのメソッドです。

public static  T[] copyOf(U[] original, int newLength, Class newType) {
  T[] copy = ((Object)newType == (Object)Object[].class)
    ? (T[]) new Object[newLength]
    : (T[]) Array.newInstance(newType.getComponentType(), newLength);
  System.arraycopy(original, 0, copy, 0,
                   Math.min(original.length, newLength));
  return copy;
}

ジェネリックメソッドでは、戻り値の直前に<…>の形式で型パラメータを宣言します。宣言された型パラメータは、戻り値型や引数型として利用できます。
ジェネリックメソッドは、通常のメソッドと同じく以下のように呼び出せます。

String[] data = { "X", "Y", "Z" }; 
String[] result = Arrays.copyOf(data, 3);	// 結果:[X, Y, Z]

また、メソッドの前に明示的に型を指定することもできます。

String[] result = Arrays.copyOf(data, 3);
ジェネリックス
ジェネリックスの基本
ジェネリックスの定義
ジェネリックメソッドの定義

Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職