我可以使用kotlin语言中的java公共数学库吗?
我看到过可以在java中使用kotlin的论坛和问题,但关于我的问题,我想在kotlin中使用apache math commons库(“它仅在java中可用”)。我的项目是intellij idea,我已经正确导入了库,我将向您展示它是如何用java编写的我可以使用kotlin语言中的java公共数学库吗?,java,kotlin,Java,Kotlin,我看到过可以在java中使用kotlin的论坛和问题,但关于我的问题,我想在kotlin中使用apache math commons库(“它仅在java中可用”)。我的项目是intellij idea,我已经正确导入了库,我将向您展示它是如何用java编写的 import org.apache.commons.math3.distribution NormalDistribution normalDistribution = new NormalDistribution(10, 3); do
import org.apache.commons.math3.distribution
NormalDistribution normalDistribution = new NormalDistribution(10, 3);
double randomValue = normalDistribution.sample();
```
一个类就是一个类,不管它是用Java还是Kotlin定义的。在大多数情况下,这意味着您只需在Kotlin中执行Kotlin操作,在Java中执行Java操作,而不管您使用的类定义在何处。也有例外,比如静态方法,但大多数东西“只起作用” 我希望,在不了解正态分布类的情况下,这将起作用:
val normalDistribution = NormalDistribution(10.0, 3.0);
val randomValue = normalDistribution.sample();
好的,所以一开始我错了。我不得不将上面的文本从(10,3)更改为(10.0,3.0)。Java和Kotlin之间有一个区别。Kotlin不进行自动数字类型升级。因此,虽然我可以对等效的Java代码使用整数文本,但在Kotlin中,我必须使用双文本。但我的IDE立即向我展示了这一点,包括一条工具提示消息,告诉我出了什么问题。这是Kotlin的东西,不是Java的东西。如果我尝试调用Kotlin中定义的以double作为参数的方法,并尝试传递整数,也会发生同样的情况。这与中定义的语言正态分布无关。在那个练习之后,我可以肯定地说这个Kotlin代码工作得很好
也许问题在于你还不太了解科特林。学习Kotlin的一部分是认识到在Kotlin代码中使用Java类是多么不成问题。为什么不?Kotlin与Java的互操作性应该允许这样做。您尝试过吗?你遇到了什么问题?嗯,我不太了解语言的变化,你能举个例子吗?