Android实战基础 - Java、Kotlin 代码互转

在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类示例

在这里插入图片描述

操作方式

  1. 选择Kotlin类 → 顶部Tools → Kotlin → Show Kotlin Bytecode

在这里插入图片描述

  1. 一般右侧弹出 Kotlin Bytecode 操作栏, 点击 Decompile 即可完成转换

在这里插入图片描述

  1. 到此,其实算是初步转换完成了,红色标记处就是我们可用的部分

在这里插入图片描述

  1. 正常在开发中,我们需要新建一个Java类,然后将转换后的代码Copy过去(之前说过转换的结果未必能直接使用,类似下方的layout就需要我们进行修补,这里的话 改成Kt原始类 R.layout.activity_main 即可

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_20451879/article/details/127996852