Java 関数を定義しました:
static <T> List<T> createEmptyList() {
return new ArrayList<T>();
}
これを呼び出す方法の 1 つは次のようになります。
List<Integer> myList = createEmptyList(); // Compiles
ジェネリック型引数を明示的に渡して呼び出すことができないのはなぜですか? :
Object myObject = createEmtpyList<Integer>(); // Doesn't compile. Why?
Illegal start of expression
コンパイラからエラーが発生します。
ベストアンサー1
Java コンパイラが静的メソッドのパラメータ タイプを単独で推測できない場合は、常に完全修飾メソッド名 (Class . < Type > method();) を使用して渡すことができます。
Object list = Collections.<String> emptyList();