У меня есть асинхронный метод с готовым будущим результатом:
public CompletableFuture<DogLater> asyncDogLater(String dogName){}
У меня есть список собак:
List<Dog> dogs;
Теперь я хочу создать карту из имени собакик Завершаемому будущему:
Map<String, CompletableFuture<DogLater>> map;
После проверки это и это Я пытался сделать это:
Map<String, CompletableFuture<DogLater>> completableFutures = dogs.stream()
.collect( Collectors.toMap(Dog::getName,
asyncDogLater(Dog::getName )));
Но компилятор жалуетсячто первый Dog::getName
проблематичен, поскольку:
Нестатический метод не может быть вызван из статического контекста
А второй Dog::getName
имеет ошибку:
Строка не является функциональным интерфейсом
Я также проверил этот пост , но я все еще не уверен, как решить эту проблему.