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