kotlin-extension相关内容

Kotlin 中泛型类的扩展函数

我下面的扩展函数有什么问题 class Foo{有趣的Foo.plus(即:Foo):Foo= 抛出异常()在里面 {Foo() + Foo()//Foo 类型的接收者是必须的}} 更新 我想知道为什么它与常规扩展函数不同,其中 T 成功地被推断为 Any 并希望实现相同的行为,例如.G.T 被推断为 Foo class Foo {有趣的T.foo(that: T): T ..
发布时间:2021-12-10 17:29:45 其他开发

如何检查“instanceof"科特林课?

在 kotlin 类中,我将方法参数作为对象(参见 kotlin doc 此处 ) 用于类类型 T.作为对象,我在调用方法时传递不同的类.在 Java 中,我们可以使用对象的 instanceof 来比较它是哪个类. 所以我想在运行时检查和比较它是哪个类? 如何在 kotlin 中查看 instanceof 类? 解决方案 使用 is. if (myInstance is S ..
发布时间:2021-12-10 17:22:12 其他开发

Kotlin 扩展函数突然需要 api 级别 24

我刚刚注意到这个 lint 错误: 调用需要 API 级别 24(当前最小值为 19) java.util.map#foreach 当我在 Kotlin 的 MutableMap 上使用 forEach 扩展函数时.当我写这条线时,这并没有发生,但现在它就在那里.我在另一台机器上没有看到这个错误. 解决方案 你使用的不是kotlin.collections.MutableMap ..
发布时间:2021-12-10 17:16:35 移动开发

如何创建 Kotlin DSL - DSL 语法 Kotlin

与 anko 一样,您可以编写如下回调函数: 警报{标题 = ""消息 = ""是按钮{吐司(“是")}无按钮{吐司(“不")}} 如何创建这样的嵌套函数?我尝试像下面那样创建它,但似乎不起作用. class 测试 {fun f1(function: () -> Unit) {}fun f2(function: () -> Unit) {}} 现在,如果我将其与扩展功能一起使用, fun ..
发布时间:2021-12-10 17:15:05 移动开发

Kotlin Android 去抖

有没有什么奇特的方法可以用 Kotlin Android 实现 debounce 逻辑? 我没有在项目中使用 Rx. Java 中有一种方法,但它对我来说太大了. 解决方案 您可以使用 kotlin 协程 来实现这一点.这是一个例子. 请注意,协程是在 kotlin 1.1+ 上进行实验,可能会在即将推出的 kotlin 版本中进行更改. 更新 自从 Kotl ..

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

是否可以在Kotlin 的java.lang.Math 类中添加一个新的静态方法?通常,由于 Kotlin 扩展,这些事情在 Kotlin 中是可能的. 我已经尝试在名为 Extensions.kt 的文件中执行以下操作: fun Math.Companion.clamp(value:Double,minValue:Double,maxValue:Double):Double{返回 Mat ..
发布时间:2021-12-10 16:57:29 其他开发

懒惰的kotlin扩展属性初始化程序中的此引用

我正在尝试Kotlin,并想为Activity实现一个惰性扩展属性: /***活动模块*/val Activity.activityModule:由lazy {ActivityModule(this)} 编译器出现以下错误: 'this'在此上下文中未定义 我怎样才能将此列为“活动"?我已阅读指南,但无法获取. this @ Activity 说引用未解决. 解决方案 Kotl ..
发布时间:2021-05-28 19:39:06 其他开发

如何从多项式表达式中得出系数?

在输入处,我得到一个多项式作为字符串, 我想获取变量中的系数,但我不知道该怎么做. 例如:7x^4+3x^3-6x^2+x-8.最大度未知,系数是整数. 我将非常感谢您的帮助. 解决方案 用加号和减号(例如,用 re.split ),将结果中的符号保留下来.然后,对于每个子字符串,用"x"除以得到前导系数(+1和-1是特殊情况),并记下x的次幂(即系数0). ..
发布时间:2020-04-26 13:01:16 其他开发

Kotlin-延期上课

是否可以创建final类的扩展,例如String?像在 swift 中一样,可以在final class的extension内添加其他方法. 例如-我想在String扩展名中创建一个方法,该方法将告诉我String具有有效的密码长度. val password : String = mEdtPassword!!.getText().toString() // how to def ..
发布时间:2020-04-26 12:50:13 其他开发

使用super在kotlin中扩展功能

如何使用super关键字在派生类中调用基类的扩展功能? 我尝试使用super打电话,但是它不起作用. open class abc { open fun aa() { println("function in abc") } } fun abc.sum() { println("extension function") } cl ..
发布时间:2020-04-26 12:45:03 其他开发