当我试图在Kotlin中编写一个与try-with-resources代码相同的代码时,它并不适用于我。 我尝试了以下的不同变化: try (writer = OutputStreamWriter(r.getOutputStream())) { // … } 但是都没有用。 有谁知道应该用什么来代替? 显然Kotlin语法没有定义这样的结构,但可能是我错过了一些东西。 它为try块定义语法如下: try : “try” block catchBlock* finallyBlock?;
如何从kotlin中的Array中删除重复项?
如果我理解正确,随着Kotlin 1.1的发布 ,我们可以将JavaScript设置为 Kotlin项目的JavaScript 编译目标 。 是否有可能(或可行)使用Kotlin代码编写完整的Node.js应用程序,如快速网络服务器? 如这个问题所示,我们可以将Node模块导入到Kotlin类中: external fun require(module: String): dynamic val express = require(‘express’) …这似乎可以创建一个应用程序使用: val app = express() 这是Kotlin建立快速应用程序的方式吗? 或者,我应该按照文档中的说明申报一个class级: @JsModule(“express”) external class Express { … } 为Node.js应用程序开发建立一个Kotlin项目的规范方法是什么? Kotlin的JavaScript互操作性足够强大,能够继续走下去吗,还是会比它的价值更麻烦呢?
Spring Data JPA引入了一个很好的function,即“通过示例查询”(QBE) 。 您通过构建实体的实例来expression您的搜索条件。 您不必编写JPQL。 它比存储库查询派生使用更少的“魔术”。 语法很好。 它防止琐碎的存储库代码的爆炸。 它很好地重构了重构。 但有一个问题:只有部分构建对象时,QBE才能正常工作。 这是我的实体: @Entity @Table(name=”product”) data class Product( @Id val id: String, val city: String, val shopName: String, val productName: String, val productVersion: Short ) 这里是我的存储库(空的!这是关于QBE的一件好事): @Repository interface ProductRepository : JpaRepository 以下是您如何获取List – 某些商店中某些城市销售的所有产品: productRepository.findAll(Example.of(Product(city = “London”, shopName=”OkayTea”))) 或者至少,这就是我想要做的。 有一个问题。 这是不可能的 : Product(city = “London”, shopName=”OkayTea”) […]
我重写了Java库中的一个方法,并且该函数的参数被注释为@NonNull 。 但是,在调用该方法时,参数经常以null值出现。 当我重写Kotlin中的方法时,它迫使我遵守@NonNull注释并将该参数标记为不可空。 当然,Kotlin在运行时抛出一个exception,当参数带有空值时。 有什么方法可以重写Kotlin中的方法,并忽略@NonNull注释? 具体来说,我使用Android的appcompat库。 该方法在AppCompatActivity.java中 @CallSuper public void onSupportActionModeFinished(@NonNull ActionMode mode) { } Kotlin中的覆盖: override fun onSupportActionModeFinished(mode: ActionMode) { super.onSupportActionModeFinished(mode) }
在Java中是这样的: layoutParams.setGravity(Gravity.END|Gravity.BOTTOM); Kotlin如何做到这一点?
我最近开始看看Kotlin,并设法创建了我的第一个JVM应用程序。 拥有一种编译Java和JS的单一语言是非常酷的。 所以,现在我开始玩Kotlin2js,并尝试了解Javascript的互操作性,以及使用JS框架(如jQuery)的可能性。 我发现了一些博客post和示例: http : //blog.jetbrains.com/kotlin/2013/10/writing-kotlin-in-the-browser/ http://blog.jetbrains.com/kotlin/2014/ 12 / javascript-interop / https://github.com/JetBrains/kotlin/blob/master/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kotlin2JsProject/mainProject/src/main/kotlin/例如/ main.kt 有没有Kotlin JS库的文档? 这还没有在http://kotlinlang.org/api/latest/jvm/stdlib/index.html提及 我第一次编译了一个简单的示例应用程序,它使用import kotlin.browser.*与gradle作为构建系统(最后, 在这里有一些帮助 ,再次感谢!)。 比我导入IDEA的项目,突然它不能编译了,我不得不改变导入import js.dom.html.* 。 那么,我想它使用不同版本的库? (和IDEA添加apply plugin: ‘kotlin’到我的build.gradle除了kotlin2js,我猜这是行不通的。) IDEA将kotlin-jslib.jar复制到它的清单中的“Implementation-Version:0.7.270”。 对于使用gradle的编译,我使用了kotlin 1.0.1-1,而且我很确定在创建项目时我也在IDEA中选择了这个版本。 那么,了解Kotlin2js和Kotlin-js-lib的最佳信息来源是什么? 特别是Javascript的互操作性,如何使用jQuery框架(似乎在kotlin-js-lib中有jQuery支持),还有,我怎样才能使用其他不支持Kotlin的框架。 我明白,Kotlin有dynamic关键字,并且当我尝试使用它时,会提到noImpl导致编译错误。 也许现在最好的办法是看Kotlin的来源? 那么,这是一个相当长和非结构化的问题,涵盖了几个方面,但这是我目前的学习状态Kotlin :-)也许其他人遇到同样的问题。
我在代码中有这样的东西 var barCode: BarCode? = null 现在getBarCode()在界面中定义 – 然后我得到的错误,这可能是一个意外覆盖。 不幸的是这不起作用: var barCode: BarCode? = null override get 我可以做这样的事情: private var barCode: BarCode? = null override fun getBarCode(): BarCode? = barCode fun setBarCode(barCode: BarCode) { this.barCode = barCode } 但这看起来像kotlin的许多喜欢和冗长的方式 – 必须有一个更短的方式 – 特别是因为这种模式将在这个类重复多次
在IntelliJ IDEA 2017.1.2(Build#IC-171.4249.39)中使用RxJava和Kotlin开发的基于JavaFX Gradle的应用程序中,出现exception: 线程“JavaFX Application Thread”中的exceptionjava.lang.NoClassDefFoundError:org / reactivestreams / Publisher 每次这样的代码 return Completable.complete() 被执行。 在类似问题的建议之后为什么我得到NoClassDefFoundError:org / reactivestreams / Publisher ,我试图添加包括反应流到我的build.gradle脚本的dependencies块 dependencies { compile ‘org.jetbrains.kotlin:kotlin-stdlib:1.1.2’ compile ‘org.reactivestreams:reactive-streams:1.0.0’ compile ‘io.reactivex.rxjava2:rxkotlin:2.0.0’ } 但问题依然存在。 依赖关系树看起来像这样: compile – Dependencies for source set ‘main’ (deprecated, use ‘implementation ‘ instead). +— org.jetbrains.kotlin:kotlin-stdlib:1.1.2 | \— org.jetbrains:annotations:13.0 +— org.reactivestreams:reactive-streams:1.0.0 \— io.reactivex.rxjava2:rxkotlin:2.0.0 +— io.reactivex.rxjava2:rxjava:2.0.7 […]
我对Android Studio完全陌生。 我将它安装在Windows上并运行Android网站上的第一个教程。 在“运行您的应用程序”教程中,您将了解如何使用AVD仿真器。 简单地说,我无法在我的IDE中find模拟器。 在菜单栏的“工具”下,我应该点击“Android”,这根本就不在那里..我需要采取初始化模拟器的路径根本不存在..任何人都可以帮助我吗? 在下面的图片中,在Kotlin下应该说Android。