问题标签 [kotlin-extension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5293 浏览

android - 在 android java 类中使用 Kotlin 扩展

是否可以在 android java 类中使用 kotlin 扩展?例子:

然后在Java中像这样使用它:

这可能吗?

0 投票
3 回答
16942 浏览

generics - Kotlin 中泛型类的扩展函数

下面我的扩展功能有什么问题

更新

我想知道为什么它与常规扩展函数不同,其中 T 成功地被推断为Any并希望实现相同的行为,例如 T 被推断为 Foo<Any>

0 投票
1 回答
479 浏览

android - Android库无法编译kotlin

我的项目有两个项目:main projectlibrary project.

main project依赖library project。_

现在我想同时使用kotlin它们。我已将我的添加common rx extension codelibrary project

然后我在我的main project

它构建失败:

LoginPresenter.kt: Unresolved reference: rxRequest

library project构建成功,在构建文件夹中生成了 kotlin .class。

main project构建失败,构建文件夹中没有 kotlin .class 文件。

0 投票
1 回答
2204 浏览

kotlin - 扩展功能中无法访问受保护的成员?

Kotlin 具有几个可见性修饰符以及扩展函数。该文档指出Extensions are resolved statically. 但这对于扩展函数中类成员的可见性意味着什么?

让我们考虑以下人为的示例:

代码不会编译。扩展类时似乎无法访问受保护的成员。

静态解析是否意味着扩展函数是在 Java 中具有类似功能的语法糖:

这可以解释为什么受保护的成员不可访问。另一方面,可以this在扩展函数中使用(甚至省略)。

那么扩展函数的具体范围是什么?

0 投票
3 回答
5589 浏览

kotlin - 如何在 Kotlin 中向 Java 类添加静态方法

是否可以在java.lang.Math类中添加新的静态方法Kotlin?通常,多亏了Kotlin Extensions ,这样的事情在 Kotlin 中是可能的。

我已经尝试在我制作的文件中执行以下操作Extensions.kt

Math.Companion无法解决...

0 投票
4 回答
2490 浏览

kotlin - kotlin 扩展属性的惰性初始化器中的这个引用

我正在尝试 Kotlin 并想为 Activity 实现一个惰性扩展属性:

编译器错误:

我怎样才能将其限定为 Activity this?我已阅读指南,但无法获得。this@Activity表示参考未解决。

0 投票
2 回答
3555 浏览

kotlin - Kotlin 扩展函数(按类型)

将函数添加到基于类型的类的惯用方法是什么。下面的例子使用 List 作为类,Type Parameter<T>是列表内对象的类。假设您想根据它们的类型使用不同的比较器对这些列表中的每一个进行排序。

这给出了一个错误,指出由于 Java 的重载规则,两个排序函数具有相同的签名。在 Java 中,我可能会给它们两个不同的可识别名称,但它作为 Kotlin 扩展(egasortA() b.sortB())相当难看。Kotlin 不会将 sortA 显示到 List< B > 所以似乎会有更好的方法来编写 sort() 来处理不同对象上的不同比较器。

该示例非常简单,但想象一下,如果我无权修改 A 类和 B 类,因此我无法使用继承或在它们上实现接口。我还考虑为每个类添加一个比较器并使用 Any? 但这似乎也很麻烦。

0 投票
2 回答
1302 浏览

kotlin - 我们是否应该避免将函数命名为与 Kotlin 中现有类相同的名称?为什么?

Kotlin 允许命名一个与现有类相同的函数,例如HashSet使用初始化函数可以这样实现:

使用时,它看起来像一个普通的HashSet构造函数:

是否应该避免或鼓励这样做,为什么?

0 投票
3 回答
893 浏览

kotlin - 扩展 Mockito 验证 Kotlin 不起作用(以“kotlin 方式”)

我想扩展验证以允许检查同一个模拟对象上的多个命令,但它不起作用,它编译但在运行时它不会运行每个命令。

只是想避免写更多的东西,比如:

写得更像:

第一次尝试:

第二次尝试:

但是这些都不起作用,即使我不调用演示者中的方法,所有测试都通过了,我该怎么做?

0 投票
1 回答
154 浏览

kotlin - 为什么 Kotlin 不让我使用 writeText 扩展?

我有一个带有方法的 Kotlin 类,它创建一些文本,然后我想将其写入文件:

我收到一个错误 - 以writeText(result)红色突出显示,我收到错误消息Error:(26, 40) Kotlin: Unresolved reference: writeText

我该如何解决?