Ответ 1
Заменить
method(Collections.emptyList());
с
method(Collections.<String>emptyList());
<String>
после .
является явной привязкой для параметра типа emptyList
, поэтому он возвращает List<String>
вместо List<Object>
.
Следующий код дает ошибку компиляции:
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
, поэтому он возвращает List<String>
вместо List<Object>
.
Вы можете указать тип param следующим образом:
public void passEmptyList() {
method(Collections.<String>emptyList());
}