在Kotlin中标记未使用的参数

The*_*Man 59 suppress-warnings kotlin unused-variables

我定义了一些用作回调的函数,并不是所有函数都使用它们的所有参数.

如何标记未使用的参数,以便编译器不会向我发出警告?

bas*_*hor 95

使用@Suppress注释您可以禁止对任何声明或表达式进行任何诊断.

示例:抑制参数警告:

fun foo(a: Int, @Suppress("UNUSED_PARAMETER") b: Int) = a
Run Code Online (Sandbox Code Playgroud)

在声明中禁止所有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) {}
    }
}
Run Code Online (Sandbox Code Playgroud)

此外,IDEA的意图(Alt + Enter)可以帮助您抑制任何诊断:


Mik*_*ike 7

如果您的参数在 lambda 中,您可以使用下划线来省略它。这将删除未使用的参数警告。它还可以防止IllegalArgumentException参数为空并标记为非空的情况。

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