java中引用kotlin库_如何从Java调用Kotlin标准库函数?

动机:

在我们的Android项目中,我们进行了许多验证,例如str!= null&& !str.isEmpty(),所以我决定将它们重构为辅助方法.

一会儿,我使用以下课程作为助手:

public class StringUtil {

public static boolean isNullOrEmpty(@Nullable String str) {

return str == null || str.isEmpty();

}

}

问题:

我们已经有一个用Kotlin编写的字符串的帮助程序类(例如,String.kt).

因此,尚不清楚有两个助手(一个在Java中,一个在Kotlin中).

我试过的

String.kt内复制过去的isNullOrEmpty()的幼稚方法未成功,因为$reciever为null,所以它崩溃了.

public inline fun CharSequence?.isNullOrEmpty(): Boolean

问题不是关于Accessing Kotlin extension functions from Java.我的扩展名是完全可见的,但是由于空接收器而崩溃.正如我在下面提到的,问题更多是关于访问本机库代码,而不是我自己的扩展.

有什么帮助吗?

解决方法:

一些标准库函数(包括该函数)都标有@InlineOnly批注,这使它们无法从Java访问.对于大多数其他功能,您可以完全按照问题(重复链接)中的说明进行访问.

标签:kotlin,java,android

来源: https://codeday.me/bug/20191025/1927805.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值