问题标签 [kotlin-interop]

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 投票
1 回答
857 浏览

kotlin - 必需的 and found ?
class TaskRepo(taskData: TaskData) {

companion object {
    private val repoByTask: LRUMap<String, OrderFormRepo> = LRUMap(2, 10);

     fun getInstance(taskData: TaskData): OrderFormRepo {


}

in getInstance method of companion object I am getting compile time error: Required TaskRepo and found TaskRepo?


Spyder doesn't detect changes in imported python files

I'm using Spyder 3.2.4 (Python 3.6). Spyder doesn't detect changes in imported python files. For example:

test2.py:

test1.py:

When I wrote those classes, and saved them (in the same working directory), and ran test1.py the output was 5.

BUT when I change the function in test2.py, to like:

Save it, and then run python1.py, I still get 5. Only when I save, exit the IDE, and return, I will get the changed code (10).

This behavior is going on since I started using Spyder (few months by now), and it's super annoying. Help would be appreciated.

0 投票
2 回答
1593 浏览

java - 更改 kotlin 扩展函数接收器 JVM 名称

这是一个普遍的问题。假设我有一个用 kotlin 编写的扩展函数,它将 DP 转换为 PX 并返回一个 NonNull Int

java中的函数看起来像这样

在我看来,这$receiver使得 Java 互操作感觉生成且不受欢迎。

我知道您可以将@JvmName注释与某些组合一起使用,例如@file:JvmName更改 java 中的名称。

当我尝试@JvmNamereceiver站点目标一起使用时,它说

“此注释不适用于目标type usage和使用站点目标@receiver

有没有办法克服这个问题并更改接收者的名称,如果没有,最好的选择是什么。

0 投票
1 回答
121 浏览

kotlin - 谁能在这里详细解释 Kotlin/Native spinner 应用程序项目结构?还有关于不同模块如何工作的细节

我想具体了解各个客户端模块如何使用公共模块。哪些是所有客户端和服务器共享的真正通用部分。

谢谢你。

0 投票
2 回答
1511 浏览

kotlin - 为什么不内联`Intrinsics.checkParameterIsNotNull`?

在 Kotlin 中,如果我们将一些 Kotlin 字节码反编译为 Java,我们经常可以看到这样的语句,它会进行 null 检查:

如果我们进一步探索,我们可以看到这个方法的反编译实现,它的实现和它的名字完全一样:

由于这个IntrinsicsIntrinsics.checkParameterIsNotNull

既然这个方法的实现很短(而且经常出现),为什么不内联这个函数呢?

是否有一些注释可以让我们阻止 Kotlin 编译器生成这个空检查?(也许像@TrustedNotNull

对于 ProGuard:我很担心,因为我正在处理共享库,而 ProGuard 在这种情况下不适合我。我显然知道那些代码消除工具(ProGuard、dce-js),并且我知道如何以及何时使用它们。
我只是问为什么没有内联函数。

0 投票
3 回答
145 浏览

android - 如何在 Kotlin 中使用 get() 定义类类型属性

如何在Kotlin中使用 get() 定义返回类的属性,我在下面尝试过,但它没有编译

0 投票
1 回答
1481 浏览

kotlin - Kotlin 和 Spring Data JPA 产生 PropertyReferenceException

我目前正在使用带有 Spring Data JPA 的 Kotlin 1.2 和 Spring Boot 2.0 M7。在这个项目中,我使用自定义基础存储库而不是 JPARepository 或 PagingAndSortingRepository(真的没关系)

这是基本界面

这是实际的存储库

最后是文章数据类

但是在启动时,我得到了这个奇怪的错误

我认为这与https://jira.spring.io/browse/DATACMNS-1223有关,但我能做些什么来解决这个问题?将接口转移到 Java 也无济于事。

0 投票
3 回答
5412 浏览

java - kotlin:2 lambda 参数的语法

我是科特林的新手。我有一个带有 2 个重载方法的 java 类。一个接受一个功能,另一个接受两个

现在在 kotlin 中,我正在尝试使用 2 个参数调用版本(如在 java 中):

但我得到编译错误。

Kotlin:意外标记(使用 ';' 分隔同一行上的表达式)

什么是正确的语法?

0 投票
2 回答
1065 浏览

java - kotlin - 平台类型/方法的非空标记

我经常使用UUID.randomUUID(). kotlin 推断的类型是UUID!. 有没有办法告诉 kotlin 这个特定方法的返回类型是UUID并且总是非空的?还是我必须到处做UUID.randomUUID()!!或实施我自己的方法?

0 投票
5 回答
3298 浏览

java - 实现Java接口时“意外覆盖:以下声明具有相同的JVM签名”

我在尝试从我的 Kotlin 代码扩展 RuntimeException 并实现用 Java 定义的GraphQLError接口时遇到了以下错误。这是错误:

意外覆盖:以下声明具有相同的 JVM 签名 (getMessage()Ljava.lang.string;):

public open fun <get-message>(): String? defined in NegativeCountException public open fun getMessage(): String? defined in NegativeCountException

以下是我的代码:

其中GraphQLError是一个接口,在 Java 中定义,如下所示:

似乎它与getMessage()定义的 in冲突Throwable

我无法更改接口的代码,因为它来自库。

如何创建自己的运行时异常,以实现GraphQLError


PS:我也尝试了以下,并收到了一个非常相似的错误:

0 投票
2 回答
444 浏览

kotlin - 如何使用 KotlinJS 正确测试 Web 套接字连接

我无法测试使用本机的代码WebSocket。这是测试函数的主体:

我将 Karma 与 Mocha 测试运行器一起使用。以下代码执行时没有任何错误,但setTimeout实际上被忽略且从未执行。

Mocha 似乎支持setTimeout基于--delay. 但是,当我使用带有client: { mocha: { delay: true } }Karma 配置的标志时,测试只是冻结并失败,输出以下原因消息:

已断开连接,因为 60000 毫秒内没有消息。

执行测试的正确方法是什么setTimeout?如果这很棘手,有没有其他方法可以WebSocket在它完全连接后执行断言?我还没有使用任何特定于 Mocha 的功能,所以我不介意更改框架。