问题标签 [kotlin]
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.
intellij-idea - 在 Kotlin 中为 JavaFX 项目生成 jar
当我在玩 Kotlin 时,我想知道是否可以为用 Kotlin 编写的 JavaFX 应用程序生成一个 jar。所以我写了一个简单的应用程序,它可以在 IntelliJ IDEA 上运行,但是当我决定生成 jar 时它从来没有用过!它说它无法找到或加载主类。
我想问题是当它在项目设置中询问主类时,我输入了应用程序类名(它不包含主方法,因为它必须在包级别),而在纯 Java 中我可以将 main 方法放在应用程序类中,它将完美地工作。那么我应该如何解决这个问题?
编辑:刚刚尝试将目标从 JavaFX Application 更改为普通 Jar 并且它有效。不知道为什么它不适用于 JavaFX 应用程序目标。
android - kotlin android proguard错误
我正在尝试构建一个 apk 并对其进行保护,但它失败并显示如下消息:
我在我的 proguard.cfg 中添加了 -dontwarn on kotlin.dom。** 但它没有帮助。
generics - 如何将一个集合的内容添加到新集合
我正在尝试重写一个调用超类并将返回值添加到新集合的方法(这是必需的,因为超类的返回值是不可变的)。
惯用的 Java 如下:
我试图在 Kotlin 中实现一个等价物但没有成功:
这似乎是 addAll 函数的类型推断问题,但我不知道如何解决它。帮助表示赞赏:-)
对于未来的读者,我在这里感到困惑的原因是错误弹出窗口中的类型不匹配:
MutableSet
工具Iterable
,这里的关键是最后的'?' 'Found' 行上的字符表示返回的值可以为空。
spring - kotlin 中的数字不可序列化
我发现 kotlin 中的数字不可序列化。
- 第一个问题
设备.kt:
DeviceRestRepository.kt:
尝试编译此代码时出现错误,因为kotlin.Long不是Serializable:
错误:(14, 72) Kotlin:类型参数不在其范围内:应该是“java.io.Serializable”的子类型?
- 第二个问题
当我尝试使用java.lang.Long时,我得到了同样的错误:
DeviceRestRepository.kt:
警告:(14, 72) Kotlin:不应在 Kotlin 中使用此类。改用 kotlin.Long 。
错误:(14, 72) Kotlin:类型参数不在其范围内:应该是“java.io.Serializable”的子类型?
android - 在 Kotlin 中用复杂类型覆盖 Java 方法
我正在尝试实现JsonHttpResponseHandler#onSuccess。当我使用:
我得到一个意外的覆盖错误,但是当我添加override
修饰符时,我得到一个onSuccess overrides nothing
错误。我做错了什么,还是我在 Kotlin 编译器中发现了一个错误?
java - kotlin:注释中数组的一些问题
我在注释中有一些问题:
在这种情况下,我收到以下错误:
类型推断失败。预期类型不匹配:找到:kotlin.Array 需要:kotlin.String
uniqueConstraints = array(...)没有问题,但是 Idea 在columnNames = array(...)中显示错误
我使用hibernate-jpa-2.1-api-1.0.0.Final.jar
解决方法:我使用复合键 (@javax.persistence.IdClass) 而不是 uniqueConstraints
android - Kotlin 类的 Android 单元测试因“找不到符号类...”而失败
我最近将 Kotlin 插件添加到我的 Android 应用程序的构建中,现在我想在 InstrumentationTestCase 中测试 Kotlin 类。
IntelliJ/Android Studio 在编辑器中看到该类,并且似乎在启动应用程序时已编译该类,但是当我启动gradlew assembleTest
它时失败并显示“找不到符号 [类名称]”。
在我的 build.gradle 中,我将 kotlin 文件夹添加为 srcDir
有什么建议吗?
编辑:这个问题是 Kotlin 和 Retrolambda 插件之间的冲突,现在已经解决。
kotlin - 在 Kotlin 中处理可为空或空列表的惯用方式
假设我有一个activities
type变量List<Any>?
。如果列表不为空且不为空,我想做点什么,否则我想做点别的。我想出了以下解决方案:
在 Kotlin 中是否有更惯用的方法来做到这一点?
dependency-injection - 将 Kotlin 与 Dagger 一起使用
使用 Dagger 将依赖项注入类的最佳方法是什么,尤其是像活动这样的零参数构造函数类,使用 Dagger?Dagger 2 可能会改善这种情况吗?
提前致谢。
inheritance - 在 Kotlin 中扩展数据类
数据类似乎是 Java 中老式 POJO 的替代品。这些类允许继承是可以预料的,但我看不出扩展数据类的方便方法。我需要的是这样的:
上面的代码由于component1()
方法冲突而失败。只在其中一个类中留下data
注释也不起作用。
也许还有另一种方式来扩展数据类?
UPD:我可能只注释子子类,但data
注释只处理构造函数中声明的属性。也就是说,我必须声明所有父级的属性open
并覆盖它们,这很难看: