Kotlin эквивалент equalsIgnoreCase Java

что такое эквивалент Java equalsIgnoreCase в Котлине для сравнения String значения?

я использовал equals но это не регистр.

3 ответов


можно использовать equals но указать


обычно вам не нужно искать альтернативы, так как 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