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

标签 java kotlin kotlinx.coroutines

我计划构建一个库,该库使用 Kotlin 协程通过 retrofit2 对 REST 服务进行 HTTP 调用。 最终输出的 jar 将包含所有改造和 Kotlin 协程依赖项,我们可以在普通 java 项目中使用这个最终的 jar 吗?

最佳答案

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

向 Java 公开非阻塞 Kotlin 代码的推荐方法是通过 CompletableFuture,使用 kotlinx-coroutines-jdk8模块。

关于java - 我可以在纯 Java 项目中使用使用 Kotlin 协程构建的库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53736980/

相关文章:

java - 如何在循环中填充 json 数组

java - 线程崩溃

android - 在数据绑定(bind)属性中传递类类型

android - java.lang.ClassCastException : kotlinx. coroutines.CompletableDeferredImpl 无法转换为 java.util.List?

java - 我的 OnNavigationItemSelectedListener kotlin android 有什么问题吗?

JavaFX 8 MapProperty 解除绑定(bind)不起作用?

java - 定义一个 swig 接口(interface)文件,用于从某个头文件生成每种类型的包装器

kotlin - 无法执行Kotlin协程(无此类方法异常

kotlin - "job + UI"上下文和使用 "parent = job"之间有什么区别?

collections - Kotlin 进程收集并行?