问题标签 [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.
kotlin - 将 Java 选项调用迁移到 kotlin
我正在使用 kotlin 迈出第一步。
我正在将一些现有的 java 代码迁移到 kotlin。
我有以下行:
其中 storyDate 是一个 Optional 并且 article 有一个方法 setPublishDate(Date) 方法。
我将如何将此行迁移到 kotlin?
https://try.kotlinlang.org上的自动迁移器是
但是这一行不能用 kotlin 编译器编译。
java - Kotlin 中的 For 循环行为不端
我正在尝试遍历 for 循环,但是当我尝试从 2D 数组中获取值并添加该值时,for 循环行为异常。这是我分享的代码...
kotlin - Passing null as part of vararg parameter to Java method from Kotlin
I have something similar to this method declaration in Java. Let's say the class is named JavaClass
:
If I want to call this from Kotlin (my version is 1.2.21), I could write something similar to this:
The strange thing is that I get an IllegalStateException
when executing this code. It says arg2 must not be null
. I could understand if it said that args
must not be null. But considering that this call would result in the array looking like ["", null]
, which in Java is perfectly fine, this seems very strange.
I need to be able to pass null
values to this method. What do I need to do to fix this behaviour?
java - 使用接受 Kotlin 中受保护类的公共方法从 Java 类继承
我有这种情况:有一个Java类
和一个 Kotlin 类,它继承自它并且必须覆盖方法“overrideMe”
但是 Kotlin 不允许这种行为。
'public' 函数公开了它的 'protected (in A)' 参数类型 B
有什么办法可以解决这个问题吗?
PS 这不仅仅是一个综合案例 - 当我尝试实现自定义Spring AmqpAppender并覆盖它的 postProcessMessageBeforeSend 方法时,我遇到了这个问题。
kotlin - Kotlin Native 如何将 ByteArray 转换为 String?
我在玩kotlin-native samples。我想知道如何String
从pinned
ByteArray 中获取信息。只想在控制台中打印它。
generics - Kotlin 泛型 Out-projected 类型禁止使用
我正在使用一种来自后端的动态表单系统。为了能够映射我的表单,我有一个带有泛型的访问者模式,我让它在 Java 中工作,但我无法让它在 Kotlin 中工作。
我有这个界面:
然后我有这样的访问器列表:
并想像这样使用它:
但这不起作用并给我:
如果你知道我做错了什么会很酷:)
编辑:这是我拥有的结构的一个小要点https://gist.github.com/jaumard/1fd1ccc9db0374cb5d08f047414a6bc8
我不想通过使用 Any 来丢失类型,与 Java 相比感到沮丧,因为它真的很容易实现。我现在了解星形投影的问题,但除此之外还有什么可以实现与 java 相同的吗?
android - 如何将 @IntRange() 支持注释应用于 Kotlin 属性设置器
我一直在试图找出如何申请@IntRange(from = 1)
我的 Kotlin 财产。经过几次失败的尝试,我终于在 Java 中创建了我想要的类,并将其转换为 Android Studio 中的 Kotlin。这是我的Java类:
这是我从 Android Studio 得到的自动转换:
@IntRange
似乎适用于 getter 但不适用于 setter 。是否可以将此注释应用于设置器,以便出现适当的 lint 警告。目前我刚刚重写了 set 方法来抛出一个 IllegalArgumentException ,如下所示:
我已经尝试添加@set:IntRange(from = 1)
,但我得到了错误This annotation does not apply for type void
,因为它试图应用于@IntRange
返回值(在 setter 的情况下是无效的)而不是 setter 参数。
javascript - 如何从 JavaScript 访问 Kotlin 对象
我正在使用 kotlin2js 从 Kotlin 代码生成 JS 库。然后我在 Javascript(不是 Kotlin)中使用这个库。该代码有一些 Kotlin 对象和一些普通类。我可以从 Javascript 访问普通类,但我无法以任何方式访问对象。
文档非常稀疏,只有相关的行可能是这样的:
Kotlin 在 JavaScript 中保留了惰性对象初始化。
我不确定那是什么意思。
java - 为什么将 kotlin 类传递给受 Java 泛型约束的 Java 函数时没有编译错误?
在将 kotlin 与 Java 一起使用时,我无法强制执行类型安全。请参阅下面显示设置的代码片段,缺少编译错误是问题所在。