繁体   English   中英

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

[英]Is converting a Kotlin file to java, adding java code to it and converting back to Kotlin same as adding code directly to the Kotlin file?

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

Kotlin反编译器不是用于将Kotlin代码转换回Java并实际使用该代码。 这是为了让你知道你的Kotlin代码编译成什么字节码,只有熟悉的Java语法,因为大多数人不能直接读取字节码。 反编译的Java代码通常甚至不可执行而无需额外的工作来修复它。

在Java中科特林编译器为了给你从现有的Java代码工作科特林代码,但是,即使不能产生很好的,惯用的科特林。

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

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

我同意zsmb13。

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

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

你最终会得到一些接近废话的东西,你肯定不会得到干净,惯用的Kotlin代码。

如果您有Java开发的背景,那么使用Kotlin并不需要很长时间。 我发现它是一种非常干净和富有表现力的语言,它消除了Java不必要的样板。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM