2

Java の構文に関する簡単な質問です。ライブラリの静的メソッドでセットを取り、リストを返したいと思います。以下はコンパイラエラーを引き起こしますが、その理由はわかりません:

public static List<T> asList(Set<T> keySet)
{
    // TODO Auto-generated method stub
    return null;
}

メッセージは「T は型に解決できません」です。しかし、それは Java のジェネリック型の構文ではありませんか?

4

3 に答える 3

6

<T>ジェネリック メソッドの場合、戻り値の引数の前に型を配置する必要があります。

public static <T> List<T> asList(Set<T> keySet)
{
    // TODO Auto-generated method stub
    return null;
}
于 2012-05-03T17:04:05.750 に答える
1

T が具象型ではなく、ジェネリック型であることを指定する必要があります。

public static <T> List<T> asList(Set<T> keySet)

すべての List 実装には、コレクションを引数として取り、この静的メソッドが行うことを行うコンストラクターがあることに注意してください。特に役立つかどうかはわかりません:

List<Foo> list = new ArrayList<Foo>(setOfFoos);
于 2012-05-03T17:05:51.400 に答える
1

を追加<T>します。T を指定する必要があります。

private static <T> List<T> asList(Set<T> keySet) {
    return result;
}
于 2012-05-03T17:06:42.617 に答える