Konvertieren eines Kotlin-Arrays zur Übergabe an eine Java-Methode mit varargs
Hallo Kollegen! Ich bin neu in Kotlin und bin auf ein unerwartetes Problem gestoßen, als ich eine Java-Methode aus Kotlin-Code aufgerufen habe.
Ich habe eine Java-Klasse mit einer Methode, die varargs (Argumente variabler Länge) akzeptiert:
```java
public class Logger {
public static void log(String tag, String... messages) {
for (String msg : messages) {
System.out.println(tag + ": " + msg);
}
}
}
```
In Kotlin möchte ich ein Array von Strings, das ich vorbereitet habe, an diese Methode übergeben. Aber wenn ich schreibe:
```kotlin
val messages = arrayOf("Fehler 1", "Fehler 2", "Fehler 3")
Logger.log("Tag", messages) // Kompilierungsfehler!
```
Erhalte ich einen Kompilierungsfehler: *Type mismatch: inferred type is Array but String was expected*. Ich verstehe, dass das Problem darin liegt, dass Kotlin das Array nicht automatisch in varargs entpackt, wie es Java tut.
Ich habe versucht, den `*` (Spread-Operator) zu verwenden, bin mir aber nicht sicher, ob das richtig ist. Bitte sagt mir, wie ich das Array korrekt konvertieren kann.