簡體   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