Sobes.tech
Middle

Waarvoor zijn de klassen Future en CompletableFuture bedoeld in Java?

sobes.tech AI

Antwoord van AI

De klassen Future en CompletableFuture in Java zijn bedoeld om te werken met resultaten van asynchrone berekeningen.

  • Future vertegenwoordigt een resultaat dat in de toekomst beschikbaar zal zijn. Met Future kun je controleren of de berekening is voltooid, het resultaat ophalen (de methode get blokkeert de thread als het resultaat nog niet klaar is) of de taak annuleren.

  • CompletableFuture breidt de mogelijkheden van Future uit door een handige API te bieden voor het samenstellen van asynchrone operaties, het verwerken van resultaten zonder blokkering, keten van oproepen en foutafhandeling. Het ondersteunt functionele methoden zoals thenApply, thenAccept, thenCompose en andere, wat het bouwen van complexe asynchrone scenario's vergemakkelijkt.

Voorbeeld van gebruik van CompletableFuture:

CompletableFuture.supplyAsync(() -> {
    // Lange operatie
    return "Resultaat";
}).thenApply(result -> {
    // Verwerking van resultaat
    return result.toUpperCase();
}).thenAccept(finalResult -> {
    System.out.println(finalResult);
});