定义API时,我应该返回CompletableFuture还是Future?
在Java 8中,接口或抽象类更好地定义返回CompletableFuture
而不是返回Future
API? 考虑到它很难将Future
转化为CompletableFuture
,而且CompletableFuture
会给调用者更直接的使用功能风格的灵活性,API可以返回Future
原因是什么?
我的2 cts:
所以你应该评估你将来想要返回除CompletableFuture以外的东西的可能性(哈哈)并相应地做出决定。
以为我会回到这里,并提供我最终决定的一些更新:
对于我自己的代码/设计,我使用CompletableFuture
作为返回类型,因为
protected abstract
方法; CompletableFuture
提供的功能样式的API是将功能样式用于未来开发者的附加益处/提醒/鼓励。 据说,如果我设计了一个公共API,我肯定会使用CompletableStage
接口作为返回类型,因为:
CompletableStage
有一个方法CompletableFuture<T> toCompletableFuture()
的事实。 上一篇: Should I return CompletableFuture or Future when defining API?
下一篇: Why do I have to use the reference operator (&) in a function call?