Отметить неиспользованные параметры в Котлине

Я определяю некоторые функции, которые будут использоваться в качестве обратных вызовов, и не все из них используют все их параметры.

Как я могу пометить неиспользуемые параметры, чтобы компилятор не сообщал мне о них?

Ответ 1

С аннотацией @Suppress Вы можете отключить любую диагностику при любом объявлении или выражении.

Примеры: Подавить предупреждение о параметре:

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

Запретить все предупреждения UNUSED_PARAMETER внутри декларации

@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) {}
    }
}

Кроме того, намерения IDEA (Alt + Enter) могут помочь вам устранить любую диагностику:

T9TxX.png

Ответ 2

Если ваш параметр находится в лямбда, вы можете использовать символ подчеркивания, чтобы опустить его. Это удаляет предупреждения неиспользуемых параметров. Он также предотвратит IllegalArgumentException в том случае, если параметр был нулевым и был отмечен как ненулевой.

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