Avatar ·

如何将 Kotlin 数组转换为传递给 Java 方法的 varargs(可变长度参数)

大家好!我是 Kotlin 新手,在从 Kotlin 代码调用 Java 方法时遇到了一个意外问题。 我有一个 Java 类,其中包含一个接受 varargs(可变长度参数)的方法: ```java public class Logger { public static void log(String tag, String... messages) { for (String msg : messages) { System.out.println(tag + ": " + msg); } } } ``` 在 Kotlin 中,我想将预先准备好的字符串数组传递给这个方法。但当我编写: ```kotlin val messages = arrayOf("错误 1", "错误 2", "错误 3") Logger.log("标签", messages) // 编译错误! ``` 我收到编译错误:*类型不匹配:推断类型是 Array,但期望的是 String*。我知道问题在于 Kotlin 不能像 Java 那样自动将数组展开为 varargs。 我尝试过使用 `*`(spread 运算符),但不确定是否正确。请告诉我如何正确转换数组。