以下代码给出了编译错误:

public void method(List<String> aList) {}

public void passEmptyList() {
    method(Collections.emptyList());
}

有没有一种方法可以将空列表传递给method而无需
  • 使用中间变量
  • 类型转换
  • 创建另一个列表对象,例如new ArrayList<String>()

  • 最佳答案

    更换

    method(Collections.emptyList());
    


    method(Collections.<String>emptyList());
    
    <String>之后的.emptyList的type参数的显式绑定(bind),因此它将返回List<String>而不是List<Object>

    08-19 00:11