CompletableFuture<Void> andTree 空指针
时间: 2023-11-25 15:51:55 浏览: 100
根据提供的引用内容,`CompletableFuture<Void> andTree`是一个静态方法,它接受一个`CompletableFuture<?>... cfs`参数,返回一个`CompletableFuture<Void>`对象。该方法将多个`CompletableFuture`对象组合成一个新的`CompletableFuture`对象,当所有的`CompletableFuture`对象都完成时,新的`CompletableFuture`对象也会完成。如果其中任何一个`CompletableFuture`对象抛出异常,则新的`CompletableFuture`对象也会抛出相同的异常。因此,如果在调用`andTree`方法时传递了一个空的`CompletableFuture`数组,则会抛出`NullPointerException`异常。
以下是一个演示如何使用`andTree`方法的例子:
```java
CompletableFuture<String> future1 = CompletableFuture.supplyAsync(() -> "Hello");
CompletableFuture<String> future2 = CompletableFuture.supplyAsync(() -> "World");
CompletableFuture<Void> combinedFuture = CompletableFuture.allOf(future1, future2);
combinedFuture.thenRun(() -> {
try {
String message1 = future1.get();
String message2 = future2.get();
System.out.println(message1 + " " + message2);
} catch (InterruptedException | ExecutionException e) {
System.out.println("Exception occurred: " + e.getMessage()); }
});
```
阅读全文