这是一个普遍的问题。假设我有一个用 kotlin 编写的扩展函数,它将 DP 转换为 PX 并返回一个 NonNull Int
fun Int.toPx() { /** implementation */ }
java中的函数看起来像这样
public int toPx(int $receiver) { /** implementation */ }
在我看来,这$receiver
使得 Java 互操作感觉生成且不受欢迎。
我知道您可以将@JvmName
注释与某些组合一起使用,例如@file:JvmName
更改 java 中的名称。
当我尝试@JvmName
与receiver
站点目标一起使用时,它说
“此注释不适用于目标type usage
和使用站点目标@receiver
”
有没有办法克服这个问题并更改接收者的名称,如果没有,最好的选择是什么。