Kotlin эквивалент equalsIgnoreCase Java
что такое эквивалент Java equalsIgnoreCase в Котлине для сравнения String значения?
я использовал equals но это не регистр.
3 ответов
обычно вам не нужно искать альтернативы, так как Kotlin повторно использует существующие типы Java, такие как String. Фактически, эти типы сопоставляются с внутренними типами Kotlin. В случае String это выглядит так:
java.lang.String ->kotlin.String
следовательно, желаемый метод equalsIgnoreCase будет доступен, только если он также был предоставлен в kotlin.String, что не так. Дизайнеры Kotlin решили предоставить более общий equals функция, которая позволяет вам укажите регистра с параметром типа boolean.
вы можете использовать Java String класс в любое время, если это действительно необходимо (не рекомендуется, IntelliJ будет жаловаться на это):
("hello" as java.lang.String).equalsIgnoreCase("Hello")
С помощью функции расширения, мы могли бы даже добавить функциональности к kotlin.String класс:
fun String.equalsIgnoreCase(other: String) =
(this as java.lang.String).equalsIgnoreCase(other)
Котлин может говорить 1 к 1 С Java, поэтому вы можете повторно использовать те же методы, которые вы используете в Java в своем коде Kotlin