kotlin – 可以为Java类添加“static”扩展函数吗?

前端之家收集整理的这篇文章主要介绍了kotlin – 可以为Java类添加“static”扩展函数吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
例如我有 Java类(从外部库):
class A {} // This is Java class

我想添加在Kotlin上编写的扩展函数,并将其称为:

A.foo() // This is call of extension function `foo` from Kotlin code

据了解,现在在Kotlin中是不可能的,因为它仅支持KClass-es with companion object的“静态”扩展功能.对?

似乎没有什么可以阻止在Kotlin之后实现这样的功能.对?

解决方法

你是对的.在Kotlin 1.0中,您可以在Kotlin类的配对对象上定义扩展函数,可以使用A.foo()语法调用这些函数.支持在Java类上定义静态扩展功能是未来版本的Kotlin的一个可能的功能,但目前它并不在Kotlin 1.1的路线图上.

猜你在找的Java相关文章