kt文件和java文件_Java与Kotlin之间怎样进行互操作

Java与Kotlin之间怎样进行互操作

发布时间:2021-02-02 10:50:43

来源:亿速云

阅读:98

作者:小新

这篇文章主要介绍了Java与Kotlin之间怎样进行互操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

前言

目前kotlin是谷歌首推的开发Android的语言,但由于历史原因,我们绝大部分项目依旧还是以Java为主的,也就是说存在Java和Kotlin两种语言同时开发的情况。

有人会说把老项目全部翻译成Kotlin,的确可以怎么做,但是成本还是挺大的。我们只能一点一点慢慢的向kotlin语言迁移。

那么在迁移的过程中就避免不了Java和Kotlin相互调用的情况。即Kotlin调用Java或者Java调用Kotlin。下面我们就来具体看下两者之间相互操作的一些解决方案。

kotlin调用java

可空性(Nullability)

Java默认有数值可空性而kotlin没有,所以在调用Java的方法的时候不知道会不会收到空值。

所以我们在Kotlin中调用Java的时候需要添加 ?或者 !来告诉Kotlin有可能出现空值。

比如这里有一个Java方法,接受一组字符串后返回一组做字符串:public Set toSet(Collection elements){

//TODO

}

那么Kotlin在调用的时候是不能确定输入和输出是否可为空的。就需要使用?或者 !来辅助判断。

为了方便Kotlin调用,我们通常使用 @NotNull 注解来标识Java代码的非原始参数、字段、返回值。@NotNull

Set toSet(@NotNull Collection elements){

//TODO

}

这个Kotlin在调用的时候就明确知道不能为空,这里我们使用的是jetBrain的 @NotNull注解,当然还有其他选择,如下图:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值