Это происходит потому, что в Kotlin Array<Char>
равно Character[]
в Java, а не char[]
в Java.
Чтобы использовать оператор распространения для массива символов и передать его параметру vararg Char
, необходимо использовать CharArray
, равное char[]
в Java.
fun main() {
val strings = arrayOf("one", "two")
val stringSplit = "".split("one", "two")
val stringsSplit = "".split(*strings)
val chars = charArrayOf('1', '2')
val charSplit = "".split('1', '2')
val charsSplit = "".split(*chars) // this is not possible
}