Я хочу написать асинхронный метод, который возвращает CompletableFuture
. Единственная цель будущего - отслеживать, когда метод завершен, а не его результат. Было бы лучше вернуться CompletableFuture<Void>
или CompletableFuture<?>
? Есть ли причина предпочесть тот или другой, или они взаимозаменяемы?
-
CompletableFuture
возвращаетCompletableFuture<Void>
из многих своих методов. -
java.nio
имеетFuture<Void>
вAsynchronousSocketChannel
:Future<Void> connect(SocketAddress remote)
. - С другой стороны,
java.util.concurrent
классы, такие какExecutorService
иScheduledExecutorService
returnFuture<?>
: например, сFuture<?> submit(Runnable task)
.
Обратите внимание, что я только спрашиваю о типах возврата, а не о списках параметров, объявлениях переменных или о других контекстах.