我可以在纯Java项目中使用由Kotlin协程构建的库吗?

时间:2018-12-12 06:04:52

标签: java kotlin kotlinx.coroutines

我打算建立一个库,该库使用Kotlin协程使用retrofit2对REST服务进行HTTP调用。 最终的输出jar将包含所有改造和Kotlin协程依赖关系,我们可以在普通的Java项目中使用此最终的jar吗?

2 个答案:

答案 0 :(得分:2)

是的。您可以。您可能希望接口采用Java准则,但是没有阻止它的技术限制。

答案 1 :(得分:0)

您的库可以在内部使用协程,但是您不能向Java客户端公开任何suspend fun。从Java调用suspend fun几乎是不可能的,因为它的签名指向内部类。

建议使用kotlinx-coroutines-jdk8模块通过CompletableFuture通过Java将非阻塞式Kotlin代码公开给Java。