以下代码给出了编译错误:
public void method(List<String> aList) {}
public void passEmptyList() {
method(Collections.emptyList());
}
有没有办法将空列表传递给method
而不用
new ArrayList<String>()
答案 0 :(得分:22)
替换
method(Collections.emptyList());
与
method(Collections.<String>emptyList());
<String>
之后的.
是emptyList
类型参数的显式绑定,因此它将返回List<String>
而不是List<Object>
。
答案 1 :(得分:5)
您可以像这样指定类型参数:
public void passEmptyList() {
method(Collections.<String>emptyList());
}