如何将 Kotlin 数组转换为 varargs 以调用 Java 方法?
大家好!我在用 Kotlin 编程时遇到了一个问题,需要调用一个接受 varargs(可变参数)的 Java 方法。
我有一个 Java 类,其方法如下:
```java
public class Printer {
public static void printMessages(String... messages) {
for (String msg : messages) {
System.out.println(msg);
}
}
}
```
从 Kotlin 中,我想向这个方法传递一个字符串数组。我创建了一个数组:
```kotlin
val array = arrayOf("你好", "世界", "Kotlin")
```
但当我尝试调用 `Printer.printMessages(array)` 时,编译器报错:“Type mismatch: inferred type is Array but String was expected”。
我知道 Java 中的 varargs 本质上是一个数组,但 Kotlin 似乎不允许直接将数组传递给 varargs。我尝试过使用 `*` 运算符(spread operator),但不确定是否正确。
请问如何正确地从 Kotlin 将数组传递给接受 varargs 的 Java 方法?是否有其他方法?