在科特林标记未使用的参数

问题描述 投票:48回答:3

我定义的一些功能将被用作回调,而不是所有的人都用自己的所有参数。

我怎样才能标记未使用的参数,这样编译器不会给我警告他们?

suppress-warnings kotlin unused-variables
3个回答
87
投票

随着@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键)可以帮助你抑制任何诊断:


4
投票

如果你的参数是一个lambda,您可以使用下划线忽略它。这将删除未使用的参数警告。它也将阻止IllegalArgumentException,该参数为空,被标记为非空的情况。

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


-2
投票

人们可以通过在的build.gradle加入科特林编译选项标志禁用这些警告。要配置一个任务,使用其名称。例子:

compileKotlin {
    kotlinOptions.suppressWarnings = true
}

compileKotlin {
    kotlinOptions {
        suppressWarnings = true
    }
}

也可以配置项目中的所有科特林编译任务:

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    kotlinOptions {
        // ...
    }
}

如果一个在Android中使用科特林,并希望抑制科特林编译器警告,在应用程序模块的build.gradle文件下添加

android{
    ....other configurations
    kotlinOptions {
        suppressWarnings = true
    }
}

无论你真的需要抑制所有科特林预警为您的项目或没有,它取决于你。

© www.soinside.com 2019 - 2024. All rights reserved.