将Kotlin文件转换为java,向其添加Java代码并转换回Kotlin,就像将代码直接添加到Kotlin文件一样?

时间:2017-11-04 09:25:49

标签: java android kotlin

我想在Github上为Kotlin安卓项目做贡献,但我不知道Kotlin。假设我在Android Studio中使用“Decompile”将Kotlin代码转换为Java,将我自己的java代码添加到转换后的文件中,然后将编辑后的文件转换回Kotlin。如果我直接添加代码而不转换为java,那么得到的Kotlin代码是否会相同?     如果我想在不知道Kotlin的情况下为Kotlin项目做出贡献,这是一个可行的策略吗?

3 个答案:

答案 0 :(得分:3)

Kotlin反编译器用于将Kotlin代码转换回Java并实际使用该代码。通过熟悉的Java语法,您可以了解Kotlin代码编译的字节码,因为大多数人无法直接读取字节码。反编译的Java代码通常不可执行,而无需额外的工作来修复它。

Java to Kotlin编译器 旨在为您提供来自现有Java代码的Kotlin代码,但是,即使这样也无法生成好的,惯用的Kotlin。

将这两个不完美的转换组合在一起(如果它以某种方式工作)将无法通过您的新修改将您带到原始的Kotlin代码,它可能会使所有转换后的代码显着混乱。对于类比,可以将其视为使用谷歌翻译通过几种不同的语言翻译句子,然后再回到原文。

如果您希望为使用Kotlin的开源项目做出贡献,那么学习Kotlin会更容易,也更方便。如果你已经了解Java,那么很容易理解它。

答案 1 :(得分:0)

我同意zsmb13。

执行以下步骤并不是一个好主意:

  1. 检查Kotlin字节代码
  2. 将字节代码转换为Java
  3. 编辑Java代码
  4. 将Java代码转换为Kotlin
  5. 你会得到一些接近废话的东西,你肯定不会得到干净,惯用的Kotlin代码。

    如果你有Java开发的背景,那么你就不应该花很长时间才能跟上Kotlin的步伐。我发现它是一种非常干净和富有表现力的语言,它消除了Java不必要的样板。

答案 2 :(得分:0)

正如其他人所说,将Kotlin转换为Java只是为了编辑Java中的代码,然后将其转换回Kotlin,没有任何意义。如果您只是想编辑现有的Kotlin代码,您应该学习Kotlin并编辑Kotlin代码。

然而,由于Java可以从Kotlin无缝调用,如果你有一些非常棒的Java库或类可以填补现有Kotlin项目的空白,你可能可以直接贡献Java代码。假设该项目不是针对Kotlin Native,并且严格禁止使用Java,他们可以利用您现有的Java代码,然后在需要修改时将其转换为Kotlin。

许多组织都遵循以下公式:所有代码都要在Kotlin中编写,而现有的Java代码只有在需要更改时才能转换为Kotlin,因此Kotlin完全合理项目可能包含或至少通过引用的库使用Java代码。