在Android现阶段,Kotlin已经成为普遍性使用的语言,而在其使用阶段中Java和Kotlin的混用很常见,为了便于开发,我们需要掌握Java、Kotlin文件的转换
这应该是我以前刚学Kotlin时就想记录的一篇blog,没想到隔了这么久才进行记录(嗯… 主要这俩年好像有点忙…)
个人建议:正常有 Java、Kotlin 转换需求的话,首先将原始文件进行备份,防止转换效果不理想,而造成无法回退的情况;同时如果有原始文件的话,我们也可以更好的对比转换前后的结果,看是否存在一些出入;还有就是转换的结果未必能百分百复用,有时候还是要酌情处理、修复...
Demo 结构示例
我为了确定双向转换的结果,创建了一个Demo,内部包含一个Java类、一个Kotlin类 ~
Java → Kotlin
起初我仅认为支持单个Java 转 Kotlin,但是尝试过后发现Java文件可以批量转Kotlin文件
Look Here :转换方式都是基于顶部Code标签栏的 Convert Java File to Kotlin File(快捷键 - Ctrl+Alt+Shift+K)
Java类示例
单类转换
其实除了以下俩种方式之外,还有一种方式,你可能也经常无意识的用到了,因为现在还有很多用Java写的代码,当我们习惯性把Java代码 copy 到 Kt 类的时候,有时候AndroidStudio会提示自动转换(
若不提示,可先将代码copy到java类,然后在从java类copy到Kt类
),所以这也可以算是一种Java → Kt 的方式
俩种方式本质相同,区别只是个人习惯问题;
方式一:选择Java类 → 顶部Code → Convert Java File to Kotlin File
方式二:选择Java类 → 右键 → Convert Java File to Kotlin File(推荐:便捷)
当执行 Convert Java File to Kotlin File
操作后,会弹出 Java → Kotlin
提示弹框,点击 Yes
就可以
转换结果
批量转换
其实转换的方式是一样的,都是通过Convert Java File to Kotlin File
,只是执行该操作的层级有所不同
!后续也会弹出 Java → Kotlin
提示弹框,点击 Yes
就可以,最终的转换结果也相同
常规的层级,大多如图例所示
选择对应层级 → 右键 → Convert Java File to Kotlin File(推荐:便捷)
Kotlin → Java
我尝试查看了一下 Kotlin → Java
的批量转换
和右键转换
,发现好像都不支持,所以就用下方这种方式吧
Kotlin类示例
操作方式
选择Kotlin类 → 顶部Tools → Kotlin → Show Kotlin Bytecode
- 一般右侧弹出
Kotlin Bytecode
操作栏, 点击Decompile
即可完成转换
到此,其实算是初步转换完成了,红色标记处就是我们可用的部分
- 正常在开发中,我们需要新建一个Java类,然后将转换后的代码Copy过去(
之前说过转换的结果未必能直接使用,类似下方的layout就需要我们进行修补,这里的话 改成Kt原始类 R.layout.activity_main 即可
)
来源地址:https://blog.csdn.net/qq_20451879/article/details/127996852