最近做 RN 还要写写原生安卓和 IOS 。于是想把业务中的库拉出来整合一下。
发现社区出了 react-native-builder-bob 来做组件手脚架。
模版只有支持 kotlin + oc / kotlin + swift / C++
我自己业务都是用 java + oc 来写原生库的。唯有选择 kotlin + oc 。
看到 md 上说 java 代码直接复制到对应的 KT 文件去,AS 编辑器就会自动帮你转的了。
试了一下,果然可以。所有啰嗦的 java 语法都变成了简洁的 kotlin 。
1
KeyboardManAnAn 2021-02-26 15:50:47 +08:00
这个确实是 Android Studio 的良心功能, 我第一次用的时候确实是被惊艳到了. 相比较而言, Objective-C 转 Swift 就蛋疼太多了, 虽然也有收费应用能够实现自动转换代码的功能, 但是远不及 IDE 自带的转换功能体验来得好我觉得
|
2
zagfai 2021-02-26 17:44:02 +08:00 1
Java 转 Kotlin 转完之后是 KotJava,改得了的代码,改不了的编程思维。
|
3
winterbells 2021-02-26 17:58:13 +08:00
Ctrl + Alt + Shift + K
|
5
HangoX 2021-02-26 18:27:50 +08:00
反过来没有,当你要粘贴到 java 的项目的时候有点绝望。
|
6
DiDiz 2021-02-26 18:28:45 +08:00
花一点时间去学 Kotlin 呗,又不难,一周就够了
|
7
Anarchy 2021-02-26 18:54:04 +08:00
自动转还是可能出问题的,特别 Lambda,匿名内部类这块。
|
8
zhang2e 2021-02-26 18:58:16 +08:00
自动转出的代码,其实还是用 Java 的思维写 Kotlin,Kotlin 的特性都没有用到,一堆警告,很不优雅。
|
10
wobuhuicode OP @DiDiz 这也有的杆……全篇有说我不会 kotlin 吗……说的是旧代码抽出来做库
|
11
night98 2021-02-26 20:56:32 +08:00
文件右键就能直接转了,IDEA 是这样的,不过通常会在一些代码例如 lambda 或是一些 spring 相关的代码上出现问题,不过我这边是后端,安卓这块可能有一定差异
|
12
sagaxu 2021-02-26 21:02:17 +08:00 via Android
以前自动翻译的代码质量差,远不如人肉翻译,自动转化有时候还编译不过,现在改善了吗?
|
13
wobuhuicode OP @night98 我这里需求有点不一样。rn 类库手脚架模版文件已经创建好了,只需要把以前的业务代码复制到指定位置就好了。所以没有直接转。
|
14
zerofancy 2021-02-27 22:46:56 +08:00
@HangoX 反过来可以通过先查看字节码再反编译的方式,不过肯定还是要自己进行一些调整啥的
https://blog.mindorks.com/how-to-convert-a-kotlin-source-file-to-a-java-source-file |