【发布时间】:2025-12-24 05:10:07
【问题描述】:
我想要一个仅表示完成的 CompletableFuture(例如,我没有返回值)。
我可以将 CompletableFuture 实例化为:
CompletableFuture<Void> future = new CompletableFuture<> ();
但是我应该在完整的方法中输入什么?比如我做不到
future.complete(new Void());
【问题讨论】:
我想要一个仅表示完成的 CompletableFuture(例如,我没有返回值)。
我可以将 CompletableFuture 实例化为:
CompletableFuture<Void> future = new CompletableFuture<> ();
但是我应该在完整的方法中输入什么?比如我做不到
future.complete(new Void());
【问题讨论】:
您已经注意到,您不能像这样实例化Void 对象。
既然你不关心未来的价值,你可以用null来完成它:
future.complete(null);
【讨论】:
null。并引用Void's javadoc:“Void 类是一个不可实例化的占位符类,用于保存对代表 Java 关键字 void 的 Class 对象的引用。”