[Android] Appeler la méthode d'argument par défaut de Kotlin depuis Java

Si vous essayez d'appeler une méthode qui a les arguments par défaut de Kotlin à partir de Java, vous obtiendrez une erreur.

Conclusion

Annoter @ JvmOverloads

Exemple de code

Côté Kotlin

class Foo {
    @JvmOverloads fun bar(str: String = "A"): String {
        return str
    }
}

Côté Java

Foo foo = new Foo();
foo.bar(); // "A"
foo.bar("B"); // "B"

Erreur @ JvmOverloads lorsqu'elle n'est pas annotée

java.lang.IllegalArgumentException: Parameter specified as non-null contains null

référence

https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-overloads/index.html

Recommended Posts

[Android] Appeler la méthode d'argument par défaut de Kotlin depuis Java
Appeler la classe scellée de Kotlin depuis Java
Appel de méthodes Java à partir de JavaScript exécutées en Java
Appeler Java depuis JRuby
Appel de méthode Java depuis RPG (appel de méthode dans sa propre classe)
Appeler une méthode avec le bloc de rappel de Kotlin depuis Java
[ruby] Appel d'une méthode avec un argument
[Kotlin] Obtenez le constructeur / la méthode Java de KFunction et appelez-le
[Java] Syntaxe orientée objet - Méthode / argument de classe
Exécutez node.js depuis Android Java (traitement)
Réintroduction de Java8, disponible depuis Android Studio 2.4
Appelez l'API Java de TensorFlow depuis Scala
Appelez la super méthode en Java
[Android, Java] Méthode pour trouver la date écoulée à partir de deux dates
[Java] Passer des arguments au constructeur dans Mockito / Définir l'appel par défaut à la méthode à callRealMethod
Méthode Java
java (méthode)
Appeler la bibliothèque Java à partir de C avec JNI
Appeler l'API GitHub à partir de l'API Socket de Java, partie 2
Appeler java depuis C ++ sur Android NDK
[Android / Java] Faire en sorte que le fragment hôte (appelant) rappelle l'événement depuis DialogFragment
Méthode Java
[Java] méthode
[Java] méthode
Incrémenté du troisième argument de la méthode iterate de la classe Stream ajoutée depuis Java9
[Java] Appel de méthode dynamique par réflexion du type enum (enum)
J'ai essayé de frapper une méthode Java d'ABCL
Nom de la méthode de la méthode de fabrique statique apprise à partir de Java 8
La fonction modifiée de kotlin ne peut pas être appelée depuis java.
[Java] Obtenir KFunction à partir de la méthode / du constructeur en Java [Kotlin]
Référence de la méthode Java8
[Java] méthode forEach
référence de la méthode java8
[Java] Méthode aléatoire
[Java] méthode de fractionnement
À propos des données locales CLDR activées par défaut à partir de Java 9
Appeler un programme écrit en Swift depuis Processing (Java)