为什么这个Kotlin方法附加反引号?
以下代码段中使用的反引号是什么?
为什么添加他们的fun is(amount:Int ):Boolean { ... }
?
verifier.`is`(amount)
这是因为is
是Kotlin中的保留关键字。 由于Kotlin应该可以与Java互操作,并且在Java is
是一个有效的方法(标识符)名称,所以反引号用于转义该方法,以便可以将其用作方法而不会将其混淆为关键字。 没有它,它将无法正常工作,因为这将是无效的语法。
这在Kotlin文档中突出显示:
转义为Kotlin中的关键字的Java标识符
某些Kotlin关键字是Java中的有效标识符:
in
,object
,is
等。如果Java库为方法使用Kotlin关键字,则仍然可以调用方法使用反引号(`)字符foo.`is`(bar)
它允许您调用名称为Kotlin关键字的Java方法。 如果你遗漏反引号,它将不起作用。
反引用是一种“解决方法”,使您可以调用具有代表Kotlin关键字的名称的方法。
见kotlinlang :
某些Kotlin关键字是Java中的有效标识符:in,object,is等。如果Java库为方法使用Kotlin关键字,则仍然可以调用方法使用反引号(`)字符
在Kotlin保留字列表中要使用Kotlin保留字(如is
或object
)作为函数/类名称,应将其包装为反引号
某些Kotlin关键字是Java中的有效标识符:in,object,is等。如果Java库为方法使用Kotlin关键字,则仍然可以调用方法使用反引号(`)字符