java - 为什么 Kotlin 文件中定义的内联函数不能在 Java 代码中使用?
问题描述
我试图理解为什么我不能在我的 Java 代码中使用 Kotlin 文件中定义的内联函数?
项目详情
科特林:1.5.20 - Java:15.0.1
混合代码(Java + Kotlin)。我在 Java 和 Kotlin 中都有相同的包结构,如下所示:
com.app.company.util
.Util.java
com.app.company.util
.Util.kt
在Util.kt
我有一个内联函数如下:
val commonMapper = jacksonObjectMapper()
inline fun <reified T> parseJson(content: String): T {
return commonMapper.readValue(content)
}
我注意到,由于Util
Java 类和 Kotlin 文件的名称相同,如果我想引用 Kotlin 文件,我必须使用UtilKt
. 我通过反编译 Kotlin 文件发现了这一点。
有趣的是, onlycommonMapper
是通过getCommonMapper()
方法 not暴露出来的parseJson
。
有人可以帮我理解为什么parseJson
从 Java 中看不到吗?
解决方案
推荐阅读
- erlang - 插件电脑不可用
- docker - 为什么 nginx 重定向不适用于 Docker 容器?
- r - 拆分并计算唯一值
- ionic-framework - 在 innerHTML 中使用 Ionic 组件
- php - 如何在 PHP 中解析数组。
- java - Java获取新数字但忽略字母前的数字
- xml - XSLT 根据多个条件丢弃重复项
- javascript - firestore 安全规则资源。数据是空对象
- php - 如何找到序列化字符串的错误位置?
- node.js - nodejs base64 图像响应不是作为图像对象出现的。添加标题时 {'Content-Type': 'image/jpeg or png'}