如何在Kotlin中将Java静态方法添加到Java类中

是否有可能添加一个新的静态方法到Kotlinjava.lang.Math类? Kotlin扩展通常可以使用Kotlin。

我已经尝试在一个名为Extensions.kt的文件中执行以下操作:

 fun Math.Companion.clamp(value:Double,minValue:Double,maxValue:Double):Double { return Math.max(Math.min(value,maxValue),minValue) } 

Math.Companion无法解决…

从Kotlin 1.1开始,这是不可能的。 然而,它正在考虑未来的版本!

为了帮助实现此功能,请对此问题进行投票: https : //youtrack.jetbrains.com/issue/KT-11968

这个想法在Kotlin社区非常受欢迎,所以我敢打赌它很快就会出现。

我认为这是不可能的。 文档说明如下:

如果一个类定义了伴随对象,则还可以为伴随对象定义扩展函数和属性。

Math类是Java类,而不是Kotlin类,并且没有companion对象。 您可以添加一个clamp方法,而不是Double类。