如何为Kotlin扩展功能的接收者添加KDoc注释Java中的第一个参数,Kotlin中的“ this”

问题描述

考虑此非扩展功能

fun checkArguments(expression: Boolean) {
    if (!expression) {
        throw IllegalArgumentException()
    }
}

当我在kotlin和java中使用此函数时,可以看到其参数名称expression

我还可以编写与扩展功能相同的功能

fun Boolean.checkArguments() {
    if (!this) {
        throw IllegalArgumentException()
    }
}

当我以此方式将其编写为扩展函数时,调用它的布尔值的参数名称函数中的this变量,又称接收者)显示$this$checkArguments 。如何为该参数添加KDoc文档注释?使用@param $this$checkArguments似乎无法对其进行记录。

解决方法

您可以使用@receiver来记录扩展功能的接收者。这是relevant documentation

例如:

/**
 * @receiver A String that is at least four characters long
 */
fun String.firstFour() = this.substring(0,4)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...