Функция ifEmpty

Функция ifEmpty проверяет, является ли строка пустой, и возвращает исходную строку, если она не пустая, или значение по умолчанию, если строка пустая. Принимает лямбда-функцию, которая возвращает значение по умолчанию.

Синтаксис

kotlininline fun <C : CharSequence, R> C.ifEmpty(
  defaultValue: () -> R
): R where R : CharSequence, R : C

Пример

Проверим пустую строку и вернем значение по умолчанию:

kotlinval emptyStr: String = ""
val res: String = emptyStr.ifEmpty { "default text" }
println(res)

Результат выполнения кода:

kotlinString "default text"

Пример

Проверим непустую строку и убедимся, что возвращается исходная строка:

kotlinval nonEmptyStr: String = "hello world"
val res: String = nonEmptyStr.ifEmpty { "default text" }
println(res)

Результат выполнения кода:

kotlinString "hello world"

Пример

Использование ifEmpty с вычисляемым значением по умолчанию:

kotlinval userInput: String = ""
val currentDate: String = "2024-01-15"

val res: String = userInput.ifEmpty {
  "Generated: $currentDate"
}
println(res)

Результат выполнения кода:

kotlinString "Generated: 2024-01-15"

Пример

Цепочка методов с ifEmpty:

kotlinval text: String? = null
val res: String = text.orEmpty().ifEmpty { "N/A" }.uppercase()
println(res)

Результат выполнения кода:

kotlinString "N/A"

Смотрите также

  • функцию isEmpty,
    которая проверяет, является ли строка пустой
  • функцию isNotEmpty,
    которая проверяет, что строка не является пустой
  • функцию orEmpty,
    которая преобразует nullable-строку в не-nullable
  • функцию ifBlank,
    которая проверяет, является ли строка пустой или состоящей только из пробелов