web-dev-qa-db-fra.com

Marquer les paramètres inutilisés dans Kotlin

Je définis certaines fonctions à utiliser comme rappels et toutes n'utilisent pas tous leurs paramètres.

Comment puis-je marquer des paramètres inutilisés afin que le compilateur ne me donne pas d'avertissement à leur sujet?

52
TheTeaMan

Avec le @Suppress annotation Vous pouvez supprimer tous les diagnostics sur n'importe quelle déclaration ou expression.

Exemples: supprimer l'avertissement sur le paramètre:

fun foo(a: Int, @Suppress("UNUSED_PARAMETER") b: Int) = a

Supprimer tous les avertissements UNUSED_PARAMETER dans la déclaration

@Suppress("UNUSED_PARAMETER")
fun foo(a: Int,  b: Int) {
  fun bar(c: Int) {}
}

@Suppress("UNUSED_PARAMETER")
class Baz {
    fun foo(a: Int,  b: Int) {
        fun bar(c: Int) {}
    }
}

De plus, les intentions d'IDEA (Alt + Entrée) peuvent vous aider à supprimer tout diagnostic:

87
bashor

Si votre paramètre est dans un lambda, vous pouvez utiliser un trait de soulignement pour l'omettre. Cela supprime les avertissements des paramètres inutilisés. Cela empêchera également IllegalArgumentException dans le cas où le paramètre était nul et était marqué comme non nul.

Voir https://kotlinlang.org/docs/reference/lambdas.html#underscore-for-unused-variables-since-11

4
Mike