如何从Kotlin调用Java的字符串构造函数(char ,int offset,int length)?

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

只有(char[])构造函数似乎可用。 我如何克服这一点?

PS我通过写作:( (java.lang.String(buf, 0, i) as String)克服这个问题,似乎java.lang.Stringkotlin.String是不同的。 但它看起来不太好。

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

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

并且你想使用格式(char[], int, int)的构造函数,

那么你可以这样做。

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

这将采取你的字符数组,切片范围0直到我,然后把它作为一个字符串。

那么你可以把它包装在一个函数中,然后离开你

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

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