从 Java 迁移到 Kotlin

oschina
 oschina
发布于 2019年11月09日
收藏 12

5 月份的 Google I/O 上,谷歌宣布 Kotlin-first,Kotlin 开始成为 Android 开发者的首选语言,接着谷歌针对 Kotlin 的相关建设不断。

本文简介了谷歌推出的 Kotlin 迁移指南相关内容。

开始从 Java 迁移到 Kotlin

谷歌建议“由点及面”进行迁移,包括人与代码两个层面:

人的层面,团队内部推举出一位 Kotlin “推广大使”,他需要做到:

  • 了解 Kotlin 并成为专家

  • 制定 Kotlin 开发流程

  • 参与代码审核,确保 Kotlin 开发流程得到顺利贯彻

  • 组建公司/团队内部的学习小组

  • 主动收集内部的问题并与开发者社区反馈探讨

而代码层面,需要做到:

  • 先使用 Kotlin 编写测试(此时项目依然在使用 Java)

  • 使用 Kotlin 编写新代码

  • 将现有代码更新为 Kotlin 代码

在将现有代码更新为 Kotlin 代码时,可以直接使用 Android Studio 提供的 Java 转 Kotlin 工具,只需要在菜单中选择 “Code → Convert Java File to Kotlin File” 即可:

△ Java 转 Kotlin 工具

另外,Kotlin 的迁移工作没必要一蹴而就,开发者可以按照自己的进度来逐步进行迁移。一个项目中可以同时包含 .java 和 .kt 文件,但同一个文件中不可以既有 Java 也有 Kotlin,开发者也可以在 Kotlin 代码中使用任何 Java 库。

△ Android Studio 的 Lint 检查中也可以打开 Kotlin 互操作检查

在 Kotlin 中调用 Java 时,有几点需要注意:

  • 将代码标记为 @Nullable 和 @NotNull

  • 使用属性前缀(getName(), setName(), isActive())

  • 避免使用 Kotlin 中的保留关键字(when、is 等)

更详细的 Kotlin 互操作指南可以查看 Android 开发者网站:

https://developer.android.google.cn/kotlin/interop

内容引用自:谷歌开发者 

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:从 Java 迁移到 Kotlin
加载中

精彩评论

大东哥
大东哥
还是Java用得习惯,敲起代码来都刹不住车,不像其他什么scala之类,用一下就卡壳,到处翻文档。
烽火云烟
烽火云烟
底层还是jvm就不可能不支持java,除非实现一个非jvm的kotlin运行时
Mark哥是我
Mark哥是我
谷歌从来没说过,不支持java
这波天秀
这波天秀
没看见 Kotlin-first吗?后面慢慢不支持java,由不得你不换,再说 kotlin比java好用,高效率这还用说嘛
Jimmm
Jimmm
kotlin不会大火,也不会消失,最后可能会像groovy lua一样,找到自己的归属。

最新评论(19

阿爆g
阿爆g
我们公司也全面转移了
开源中国首席罗纳尔多
开源中国首席罗纳尔多
需要加个jar才能才能将kotilin转成java吗?
流浪汉中写代码最好的
流浪汉中写代码最好的
谷歌这是为了避免oracle纠纷,加上用jb的开发环境也是很拼,用kotlin也解决语言的问题
大东哥
大东哥
还是Java用得习惯,敲起代码来都刹不住车,不像其他什么scala之类,用一下就卡壳,到处翻文档。
milin
milin
为什么要迁移?好用?提高效率
这波天秀
这波天秀
没看见 Kotlin-first吗?后面慢慢不支持java,由不得你不换,再说 kotlin比java好用,高效率这还用说嘛
Zero__One
Zero__One
想多了
keep_wan
keep_wan
并每没有。我们公司的安卓新项目已经全部切kotlin了
喊你莫挨老子
喊你莫挨老子
我想问一下。kotlin的学习成本高不?对于没学过编程的人而言
Zero__One
Zero__One
安卓又不是java全部生态, java在Web端也是占这领先地位, 对我个人来说要迁移就迁移Rust, kotlin 比 java好不到哪里去
keep_wan
keep_wan
java缺少了安卓这个份额。占有率第一的宝座不保了,安卓对java的分量不比服务端少.
orpherus
orpherus
我司服务端Java项目也换成Kotlin了
Mark哥是我
Mark哥是我
谷歌从来没说过,不支持java
烽火云烟
烽火云烟
底层还是jvm就不可能不支持java,除非实现一个非jvm的kotlin运行时
orpherus
orpherus
kotlin有一些lib是java用不了的
Jimmm
Jimmm
kotlin不会大火,也不会消失,最后可能会像groovy lua一样,找到自己的归属。
eechen
eechen
Kotlin的开发者是Jetbrains,顶级的IDE开发工具商,是JCP成员,实力上是足够的.
而且拿来主义者Google为了早日解决跟Oracle Java的纠纷,一直在Android开发上推广Kotlin.
这些哪是Groovy之流能比的.
橙汁儿
橙汁儿
正解,google硬着头皮也要推下去
二进制艺术
二进制艺术
还是 java 应用广泛
返回顶部
顶部