Почему в этом методе Котлина есть обратные обратные линии?

Каковы обратные ссылки, используемые в нижеприведенном фрагменте?

Зачем добавлять их вокруг fun is(amount:Int ):Boolean { ... }?

verifier.`is`(amount)

Ответ 1

Это потому, что is является зарезервированным ключевым словом в Котлине. Поскольку предполагается, что Kotlin совместим с Java, а is - это допустимое имя метода (идентификатора) в Java, обратные элементы используются для выхода из метода, чтобы его можно было использовать как метод, не запутывая его как ключевое слово. Без него это не сработает, потому что это будет недопустимый синтаксис.

Это выделено в документации Kotlin:

Escaping для Java-идентификаторов, которые являются ключевыми словами в Kotlin

Некоторые ключевые слова Kotlin являются допустимыми идентификаторами в Java: in, object, is и т.д. Если в Java-библиотеке используется ключевое слово Kotlin для метода, вы все равно можете вызвать метод, ускоряющий его с помощью символ обратного хода (`)

foo.`is`(bar)

Ответ 2

Позволяет вам вызвать метод Java, имя которого является ключевым словом Kotlin. Это не сработает, если вы оставите обратные ссылки.

Ответ 3

Обратный ход - это "обходной путь", позволяющий вызывать методы, которые имеют имя, представляющее ключевое слово Kotlin.

См. kotlinlang:

Некоторые ключевые слова Kotlin являются допустимыми идентификаторами в Java: in, object, is и т.д. Если в Java-библиотеке используется ключевое слово Kotlin для метода, вы все равно можете вызвать метод, экранирующий его с помощью символа backtick (`)

Ответ 4

is в списке зарезервированных Kotlin words Чтобы использовать зарезервированное слово Kotlin (например, is или object) для имени функции/класса, вы должны обернуть его в обратные образы

Ответ 5

Некоторые ключевые слова Kotlin являются допустимыми идентификаторами в Java: in, object, is и т.д. Если в Java-библиотеке используется ключевое слово Kotlin для метода, вы все равно можете вызвать метод, экранирующий его с помощью символа backtick (`)

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