Wenn Sie versuchen, eine Methode mit Kotlins Standardargumenten aus Java aufzurufen, wird eine Fehlermeldung angezeigt.
Kommentieren Sie "@ JvmOverloads"
Kotlin Seite
class Foo {
@JvmOverloads fun bar(str: String = "A"): String {
return str
}
}
Java-Seite
Foo foo = new Foo();
foo.bar(); // "A"
foo.bar("B"); // "B"
@ JvmOverloads
Fehler, wenn nicht kommentiertjava.lang.IllegalArgumentException: Parameter specified as non-null contains null
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-overloads/index.html
Recommended Posts