Avatar ·

Wie konvertiere ich ein Kotlin-Array in varargs für den Aufruf einer Java-Methode?

Hallo zusammen! Ich schreibe in Kotlin und bin auf ein Problem gestoßen, als ich eine Java-Methode aufrufen wollte, die varargs (variable Anzahl von Argumenten) akzeptiert. Ich habe eine Java-Klasse mit einer Methode, die so aussieht: ```java public class Printer { public static void printMessages(String... messages) { for (String msg : messages) { System.out.println(msg); } } } ``` Aus Kotlin möchte ich ein Array von Strings an diese Methode übergeben. Ich erstelle ein Array: ```kotlin val array = arrayOf("Hallo", "Welt", "Kotlin") ``` Aber wenn ich versuche, `Printer.printMessages(array)` aufzurufen, gibt der Compiler einen Fehler aus: "Type mismatch: inferred type is Array but String was expected". Ich verstehe, dass varargs in Java im Grunde ein Array sind, aber Kotlin erlaubt anscheinend nicht, ein Array direkt an varargs zu übergeben. Ich habe versucht, den `*`-Operator (spread operator) zu verwenden, bin mir aber nicht sicher, ob das richtig ist. Könnt ihr mir sagen, wie ich ein Array korrekt an eine Java-Methode mit varargs aus Kotlin übergebe? Gibt es eine andere Möglichkeit?