以下是一个示例代码,用于递归取消所有的CompletableFuture: ``` public static void cancelAllFutures(CompletableFuture<?> future) { if (!future.isDone()) { future.cancel(true); } if (future instanceof CompletableFuture[]) { CompletableFuture<?>[] futures = (CompletableFuture<?>[]) future; for (CompletableFuture<?> f : futures) { cancelAllFutures(f); } } else if (future instanceof CompletableFuture) { CompletableFuture<?> f = (CompletableFuture<?>) future; if (f.isCompletedExceptionally()) { try { f.get(); } catch (CancellationException e) { // ignore } catch (Exception e) { // ignore } } else { cancelAllFutures(f); } } } ``` 该方法接受一个CompletableFuture作为参数,并递归取消所有的CompletableFuture。如果传入的CompletableFuture已经完成,它将被取消。如果传入的CompletableFuture是一个CompletableFuture数组,它将递归取消数组中的所有CompletableFuture。如果传入的CompletableFuture是一个已经完成异常的CompletableFuture,它将忽略它。否则,它将递归取消CompletableFuture。