如何在Kotlin中将Java静态方法添加到Java类中
是否有可能添加一个新的静态方法到Kotlin
的java.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
类。