tb1*_*189 18 java generics list
以下代码给出了编译错误:
public void method(List<String> aList) {}
public void passEmptyList() {
method(Collections.emptyList());
}
Run Code Online (Sandbox Code Playgroud)
有没有办法将空列表传递给method没有
new ArrayList<String>()?
Mik*_*uel 22
更换
method(Collections.emptyList());
Run Code Online (Sandbox Code Playgroud)
同
method(Collections.<String>emptyList());
Run Code Online (Sandbox Code Playgroud)
在<String>之后的.是一个明确的绑定emptyList的类型参数,所以它会返回一个List<String>的替代List<Object>.
您可以像这样指定类型参数:
public void passEmptyList() {
method(Collections.<String>emptyList());
}
Run Code Online (Sandbox Code Playgroud)