簡體   English   中英

我可以在kotlin語言中使用公共數學的Java庫嗎?

[英]Can I use java library of commons math in kotlin language?

我卻看到了那個可以在Java中使用科特林但是,對於我的問題的論壇和問題是,我想使用Apache數學下議院庫(“這是只有在Java中可用”) 科特林內 我的項目是intellij想法,我已正確導入庫,我告訴你它是如何用java編寫的

import org.apache.commons.math3.distribution 

NormalDistribution normalDistribution = new NormalDistribution(10, 3);
double randomValue = normalDistribution.sample();

```

類是一個類,無論它是用Java還是Kotlin定義的。 在大多數情況下,這意味着您只需在Kotlin中執行Kotlin操作,在Java中執行Java操作,無論您使用的類在何處定義。 有一些例外,比如靜態方法,但大多數東西“只是工作”。

我希望,對NormalDistribution類一無所知,這將起作用:

val normalDistribution = NormalDistribution(10.0, 3.0);
val randomValue = normalDistribution.sample();

好的,我最初錯了。 我不得不將上面的文字從 10,3 更改為(10.0,3.0) 這是Java和Kotlin之間的區別。 Kotlin不進行自動數字類型推廣。 因此,雖然我可以將Integer文字用於等效的Java代碼,但在Kotlin中,我不得不使用Double文字。 但是我的IDE立即向我展示了這一點,包括一個告訴我錯誤的工具提示消息。 這是Kotlin的事情,而不是Java的事情。 如果我試圖調用Kotlin中定義的方法,將雙精度作為參數,我會嘗試將整數傳遞給它。 這與定義NormalDistribution的語言無關 。在練習之后,我可以肯定地說這個Kotlin代碼工作正常。

也許問題更多的是你還不太了解Kotlin。 學習Kotlin的部分原因是在Kotlin代碼中使用Java類實現了多少非問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM