这是我的方法:
public CompletionStage<Void> insert(List<HashAction> hashActionList) {
if(!hashActionList.isEmpty()) {
return ...
}
// what to return here ?
}
如果我的列表为空,我不知道该返回什么。但不确定使用null是否好,因为之后我还需要检查null。
我已经尝试过
return CompletableFuture.completedFuture(null);
但是我并不是很确定,因为我随机选择了一个CompletionStage的实现
CompletableFuture
是CompletionStage
的事实标准实现。事实上,CompletionStage
接口有一个方法,其唯一目的是将其转换为CompletableFuture
:#toCompletableFuture()
。它也是 Java SE 提供的唯一公共实现。我的观点是返回CompletableFuture
并不可疑。此外,由于您的方法返回CompletionStage
,因此实际返回的实现不重要。 - Slaw!hashActionList.isEmpty()
并执行该块中的任何内容,而不管列表是否为空,会发生什么?它是否已经做了正确的事情?如果您只是尝试优化空列表情况,请返回未优化情况下返回的等效内容。另请参见创建已完成的CompletableFuture<Void>
的正确方法是什么。 - HolgerhashActionList
不为空,你将返回什么? - Alexei Kaigorodov