For example I have Java class (from external library):

class A {} // This is Java class

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

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

As I understand, right now it is impossible to do in Kotlin because it support "static" extension functions for KClass-es with companion object only. Right?

以后在Kotlin中实现这样的功能似乎没有什么可阻止的.正当

UPDATE 2019-06-12:这个question没有回答我的问题,因为我的问题是关于Kotlin扩展函数与Java类的兼容性.

推荐答案

你是对的.在Kotlin 1.0中,您可以在Kotlin类的伴随对象上定义扩展函数,并且可以使用A.foo()语法调用此类函数.对在Java类上定义静电扩展函数的支持是future 版本的一个可能特性,但目前还不在Kotlin1.1的路由图中.

Kotlin相关问答推荐

Jetpack Compose中的数字 Select 器问题

为什么Kotlin协程程序即使有延迟也能输出?

访问者闭包中的Kotlin序列yield 率

如何使用multiset与JOOQ获取关联的记录列表?

为什么 <= 可以应用于 Int 和 Long,而 == 不能?

Kotlin SIZE_BYTES

具有泛型类型的 Kotlin 密封接口不会为其子类型推断约束

Android 导航组件 - 向上导航打开相同的片段

Kotlin 枚举中的循环引用

Kotlinwhen表达式在使用主题时是否支持复合布尔表达式?

runOnUiThread 没有调用

从代码块执行和返回(在 Elvis 运算符之后)

带有迭代器函数的 Kotlin 无限序列

Kotlin内联扩展属性

Android Studio 将 Java 转换为 Kotlin 错误无法推断此参数的类型

如何为 Java 调用者声明返回类型为void的 Kotlin Lambda?

旋转 kotlin 数组

如何在 Gradle Kotlin DSL 中使用来自 gradle.properties 的插件版本?

在 IntelliJ Idea 中未为 Kotlin @ConfigurationProperties 类生成 spring-configuration-metadata.json 文件

从 Kotlin 访问 Integer.class