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

我想贡献一个Github上的Kotlin android项目,但是我不认识Kotlin。 假设我使用Android Studio中的“反编译”将Kotlin代码转换为Java,请将我自己的java代码添加到转换后的文件中,然后将编辑后的文件转换回Kotlin。 如果我直接添加代码而不转换为java,那么生成的Kotlin代码是否一样? 如果我想在不了解Kotlin的情况下贡献一个Kotlin项目,这是一个可行的策略吗?

Kotlin反编译器不是将Kotlin代码转换回Java, 而是实际使用该代码。 只是用熟悉的Java语法给你一个关于你的Kotlin代码被编译成什么字节码的概念,因为大多数人不能直接读取字节码。 反编译的Java代码通常甚至不可执行,如果没有额外的工作来解决它的话。

Java到Kotlin编译器为了给你从现有的Java代码中工作的Kotlin代码,但是,即使这样也不能产生好的,惯用的Kotlin。

结合这两个不完美的转换(如果它以某种方式工作的话)将不会让你只用新的修改就能得到原始的Kotlin代码,这很可能会把所有转换后的代码搞得一团糟。 对于一个模拟,可以把它翻译成谷歌翻译成几种不同的语言,然后回到原来的。

如果你希望贡献一个使用Kotlin的开源项目,那么学习Kotlin就容易多了。 如果你已经了解Java,那么拿起它真的很容易。

我同意zsmb13。

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

  1. 检查Kotlin字节代码
  2. 将字节码转换为Java
  3. 编辑Java代码
  4. 将Java代码转换为Kotlin

你会最终接近废话,你肯定不会得到干净,习惯性的科特林代码。

如果您有Java开发背景,那么不用花太多时间就可以快速掌握Kotlin。 我觉得它是一个非常干净和expression的语言,它删除了Java的不必要的样板。

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

但是,由于可以从Kotlin无缝地调用Java,如果您有一些非常棒的Java库或类,它们可以填补现有Kotlin项目中的空白,那么您可以直接贡献Java代码。 假设这个项目并不是针对Kotlin Native的,也不是严格禁止Java的,他们可以利用你现有的Java代码,然后把它转换成Kotlin,到了需要修改的时候。

许多组织都遵循所有代码都要写入Kotlin的公式,现有Java代码只有在需要更改时才转换为Kotlin,所以Kotlin项目可能包含或至少使用Java代码通过引用库。