为什么这个Kotlin方法附加反引号?

以下代码段中使用的反引号是什么?

为什么添加他们的fun is(amount:Int ):Boolean { ... }

 verifier.`is`(amount) 

这是因为is是Kotlin中的保留关键字。 由于Kotlin应该可以与Java互操作,并且在Java is是一个有效的方法(标识符)名称,所以反引号用于转义该方法,以便可以将其用作方法而不会将其混淆为关键字。 没有它,它将无法正常工作,因为这将是无效的语法。

这在Kotlin文档中突出显示:

转义为Kotlin中的关键字的Java标识符

某些Kotlin关键字是Java中的有效标识符: inobjectis等。如果Java库为方法使用Kotlin关键字,则仍然可以调用方法使用反引号(`)字符

 foo.`is`(bar) 

它允许您调用名称为Kotlin关键字的Java方法。 如果你遗漏反引号,它将不起作用。

反引用是一种“解决方法”,使您可以调用具有代表Kotlin关键字的名称的方法。

见kotlinlang :

某些Kotlin关键字是Java中的有效标识符:in,object,is等。如果Java库为方法使用Kotlin关键字,则仍然可以调用方法使用反引号(`)字符

在Kotlin保留字列表中要使用Kotlin保留字(如isobject )作为函数/类名称,应将其包装为反引号

某些Kotlin关键字是Java中的有效标识符:in,object,is等。如果Java库为方法使用Kotlin关键字,则仍然可以调用方法使用反引号(`)字符

https://kotlinlang.org/docs/reference/java-interop.html