Java 8 ma funkcję CompletableFuture.allOf(CompletableFuture<?>...cfs)
, która zwraca wartość CompletableFuture
, która jest wykonywana po zakończeniu wszystkich danych kontraktów futures.Java 8 CompletableFuture.allOf (...) z kolekcją lub listą
Jednak prawie zawsze nie mam do czynienia z tablicą CompletableFuture
s, ale zamiast tego mam List<CompletableFuture>
. Oczywiście, mogę użyć metody toArray()
, ale to jest trochę trudu, aby ciągle konwertować między tablicami i listami.
Byłoby naprawdę fajnie, gdyby istniała sprytna metoda uzyskania CompletableFuture<List<T>>
w zamian za List<CompletableFuture<T>>
, zamiast ciągłego tworzenia pośredniej tablicy. Czy ktoś wie sposób to zrobić w Java 8?
użyć 'CompletableFuture.allOf (futuresList. toArray (new CompletableFuture [futuresList.size()])) 'ponieważ CompletableFuture.allOf() przyjmuje tablicę' CompletableFuture'. – wz366
@ wz366 działa to, ale otrzymuję ostrzeżenie od IntelliJ na temat 'new CompletableFuture [futuresList.size()]' powiedzenie 'Array of type Object []' expected – Kousha