Подтвердить что ты не робот

Есть ли безопасный способ передачи пустого списка в качестве аргумента в java?

Следующий код дает ошибку компиляции:

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

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

Есть ли способ передать пустой список method без

  • Использование промежуточной переменной
  • Кастинг
  • Создание другого объекта списка, такого как new ArrayList<String>()

?

4b9b3361

Ответ 1

Заменить

method(Collections.emptyList());

с

method(Collections.<String>emptyList());

<String> после . является явной привязкой для параметра типа emptyList, поэтому он возвращает List<String> вместо List<Object>.

Ответ 2

Вы можете указать тип param следующим образом:

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