Kotlin java.lang.StringIndexOutOfBoundsException

嗨,我是Kotlin的初学者,所以我不知道这里有什么问题: 线程“main”中的异常java.lang.StringIndexOutOfBoundsException:String index超出范围:2在java.lang.String.charAt(String.java:658)在demo.KottestKt.main(kottest.kt:42)package demo fun main(args : Array<String>){ var m : Int val S1 : String val S2 : String print("give the first char:") S1= readLine()!!.toString() print("give the second char:") S2= readLine()!!.toString() var t=0 val len1=S1.length val len2=S2.length //comparing the two chars if (S1.length==S2.length){ for (i in S1.indices){ if (S1[i]!=S2[i]){ t=1 } } if (t==0){ […]

Kotlin提供任何性能提升?

科特林提供任何性能提升? 有没有基准? Kotlin比Java快吗? 我在Kotlin网站上找到了这个。 https://kotlinlang.org/docs/reference/comparison-to-java.html谈论语言功能,但不是性能。

Kotlin中的多维“3D”矩阵

在Kotlin中创建3D矩阵的语法是什么? 它的Java等价物如下: public static final int[][][] data = {{{0,0},{0}},{{0,1},{0}},{{1,0},{0}},{{1,1},{1}}}; 谢谢 编辑:另外,如何使用简单的println打印Kotlin代码?

静态字段在kotlin中

我是Kotlin的新手,并试图将我的Android活动转换为Kotlin,但是我不知道如何将字段声明为静态。 我想转换下面的代码… public class MainActivity extends AppCompatActivity { static String TAG = "MainActicity"; @Override protected void onCreate(Bundle savedInstanceState) { …. } …. } 任何人都可以帮忙吗? 提前致谢!

Kotlin匿名函数的用例?

根据我的理解,Kotlin中的匿名函数允许你指定返回类型。 除此之外,匿名内的return语句只会退出函数块,而在lambda中则会退出函数的封闭函数。 尽管如此,我无法想象在Lambda语法不能提供的Kotlin中匿名函数的真实世界用例是什么? Kotlin高阶函数与Lambda

JUnit测试在Kotlin

警告:我是TDD和Kotlin的一个巨大的noob。 我在网上找到了用于编写Kotlin中的JUnit测试的很好的代码片段,但是当我复制和粘贴时,IntelliJ不会自动导入kotlin.test.*或org.junit.Test 。 通常在Eclipse中,当我像这样复制和粘贴代码片段时,IDE可以找出这些库位于我的基础Java安装中的位置。 图Kotlin / IntelliJ将是相同的。 在下面的截图,任何想法,为什么我不能导入测试库? 他们是否需要明确添加到我的路径? 我需要把这些test ,而不是src文件夹? 谢谢

String :: toByteArray()不能在Kotlin 中编译

下面的代码不能在Kotlin Js中编译: "My String".toByteArray() 任何想法为什么? 返回的错误是: [INFO] [INFO] — kotlin-maven-plugin:1.1.51:js (compile-js) @ client — [INFO] Kotlin version 1.1.51 (JRE 1.8.0_144-b01) [INFO] Compiling Kotlin sources from [C:\myproject\src\main\kotlin] [ERROR] C:\myproject\src\main\kotlin\mypackage\MyFile.kt: (15, 48) Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: public fun Array<out Byte>.toByteArray(): ByteArray defined in kotlin.collections public fun Collection<Byte>.toByteArray(): […]

在eclipse上通过gradle设置Kotlin

努力让Kotlin在日食上运行。 我开始了新的渐进式项目。 增加了kotlin网站上规定的依赖关系。 构建通过没有错误。 我在src / java / main下创建了'main.kt'文件: fun main(args: Array<String>) { println("foo") } 但是,我有两个问题:1.任何从kotlin例如println突出显示为“未解决的参考”。 2.我无法运行程序 – Error: Could not find or load main class MainKt (右键单击main.kr作为“kotlin应用程序”运行) 如果我创建“新kotlin项目”,一切正常。 我的分级生成脚本: plugins { id "org.jetbrains.kotlin.jvm" version "1.1.2-2" } repositories { jcenter() mavenCentral() } dependencies { //api 'org.apache.commons:commons-math3:3.6.1' implementation 'com.google.guava:guava:21.0' testImplementation 'junit:junit:4.12' compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.2-2" compile "org.jetbrains.kotlin:kotlin-stdlib-jre8" compile […]

使用Kotlin合成属性

我正在Kotlin试用Vert.x。 我有以下一段代码: val deploymentOptions = DeploymentOptions() deploymentOptions.setConfig(JsonObject().put("http.port", 8081)) 一切工作正常。 但是,IntelliJ IDEA在第二行报告我应该使用“Kotlin合成属性”。 任何想法如何在这种情况下做到这一点。 另外,我正在使用Maven。 解: deploymentOptions.config = JsonObject().put("http.port", 8081) 谢谢您的帮助 :)

奇怪的“未解决的参考:”升级到Kotlin 1.0.5后的错误

我有一个包含2个模块的项目。 一个包含我的java代码的Java模块。 还有一个包含我的Kotlin代码的Kotlin模块。 Kotlin模块依赖于java模块。 也就是说,Java模块中没有引用Kotlin模块的东西。 但是Kotlin模块依赖于Java模块中的Java类。 这个项目我还没有打开6个月左右。 它之前工作得很好。 这是kotlin 1.something。 不管六月份的最新情况如何 现在我已经更新到最新的Kotlin版本。 但是我的一个java模块java类不能再从Kotlin模块中引用。 它只是其中的一个类,Kotlin模块很好地引用了来自Java模块的其他很多类。 我希望有人能告诉我发生了什么事。 也许Kotlin在过去的6个月里有了一些变化,导致了这一点? 我在Kotlin模块中引用JSBot的所有Kotlin文件中得到的消息是这样的: Error:(191, 39) Kotlin: Unresolved reference: JSBot kt文件中的JSBot导入是正确的。 即使在相同的Java包中,来自Java模块的其他类也可以被识别并编译而不会出错。 这里是JSBot.java声明(在Java模块中): public abstract class JSBot extends Evaluable implements Name { … } 其他抽象的java类可以从Kotlin模块中很好的引用。 所以我不能真正理解发生了什么。 这只是一个Java类。 但是,在早期的Kotlin版本(v1.0到六月份的最新版本)中,它编译得很好。 我现在只是得到这个错误。 我没有改变任何代码。 只更新到kotlin插件1.0.5 谁能给我一些提示怎么办? 我卡住了,不知道从哪里去。 我更新我的maven .pom从1.0.0 1.0.5,但是没有帮助。