如何从Kotlin调用Java的String构造函数(char [],int offset,int length)?

时间:2015-02-03 06:43:41

标签: java kotlin

我正在将一些Java代码迁移到Kotlin,但我无法将调用迁移到Java的String构造函数(char[], int, int),因为它在Kotlin中不可用。

似乎只有(char[])构造函数可用。我该如何克服这个问题?

P.S。我通过写(java.lang.String(buf, 0, i) as String)来解决这个问题,似乎java.lang.Stringkotlin.String不同。但它看起来并不那么好。

2 个答案:

答案 0 :(得分:1)

如果你有来自java的char数组,例如

public class Test {
    public static char[] chars = {'a','b','c','d'};
}

并且您希望以(char[], int, int)

格式使用构造函数

然后你可以这样做。

var a = Test.chars.slice(0..i).toString()

这将采用你的char数组,将其切换到0到i的范围,然后将其作为字符串。

然后你可以将它包装在一个函数中然后你去吧

答案 1 :(得分:0)

您可以直接使用构造函数。这在Kotlin中有效:

val s = String(byteArrayOf(65,66,67,68,69), 0, 3)