我定义了一个Java函数:
static <T> List<T> createEmptyList() {
return new ArrayList<T>();
}
一种调用方法如下:
List<Integer> myList = createEmptyList(); // Compiles
为什么我不能通过显式传递泛型类型参数来调用它? :
Object myObject = createEmtpyList<Integer>(); // Doesn't compile. Why?
我收到错误Illegal start of expression
来自编译器。
当 java 编译器无法自行推断静态方法的参数类型时,您始终可以使用完整限定方法名称传递它: Class 。 方法();
Object list = Collections.<String> emptyList();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)