Why does this Kotlin method have enclosing backticks?

前端 未结 5 2002
感情败类
感情败类 2020-11-27 06:16

What are the backticks used for in the snippet below?

Why add them around the fun is(amount:Int ):Boolean { ... }?

verifier.`is`(amount         


        
5条回答
  •  伪装坚强ぢ
    2020-11-27 06:38

    It's because is is a reserved keyword in Kotlin. Since Kotlin is supposed to be interoperable with Java and is is a valid method (identifier) name in Java, the backticks are used to escape the method so that it can be used as a method without confusing it as a keyword. Without it it will not work because it would be invalid syntax.

    This is highlighted in the Kotlin documentation:

    Escaping for Java identifiers that are keywords in Kotlin

    Some of the Kotlin keywords are valid identifiers in Java: in, object, is, etc. If a Java library uses a Kotlin keyword for a method, you can still call the method escaping it with the backtick (`) character

    foo.`is`(bar)
    

提交回复
热议问题