Вы можете объявить специальную локальную операторную функцию contains
для строк до when
:
fun main() {
operator fun String.contains(other: String): Boolean = this.contains(other, ignoreCase = true)
when(myString) {
in "firstString" -> ...
}
}
Таким образом, эта функция будет вызываться для оператора in
вместо той, которая объявлена встандартная библиотека, потому что она находится в более близком объеме.
Обратите внимание, однако, что этот прием работает только в том случае, если исходная функция contains
является расширением. Если это функция-член, ее нельзя переопределить расширением.