Avatar ·

如何将 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 方法?是否有其他方法?