Функция ifEmpty
Функция ifEmpty проверяет, является ли строка пустой,
и возвращает исходную строку, если она не пустая, или значение
по умолчанию, если строка пустая. Принимает лямбда-функцию,
которая возвращает значение по умолчанию.
Синтаксис
inline fun <C : CharSequence, R> C.ifEmpty(
defaultValue: () -> R
): R where R : CharSequence, R : C
Пример
Проверим пустую строку и вернем значение по умолчанию:
val emptyStr: String = ""
val res: String = emptyStr.ifEmpty { "default text" }
println(res)
Результат выполнения кода:
String "default text"
Пример
Проверим непустую строку и убедимся, что возвращается исходная строка:
val nonEmptyStr: String = "hello world"
val res: String = nonEmptyStr.ifEmpty { "default text" }
println(res)
Результат выполнения кода:
String "hello world"
Пример
Использование ifEmpty с вычисляемым значением по умолчанию:
val userInput: String = ""
val currentDate: String = "2024-01-15"
val res: String = userInput.ifEmpty {
"Generated: $currentDate"
}
println(res)
Результат выполнения кода:
String "Generated: 2024-01-15"
Пример
Цепочка методов с ifEmpty:
val text: String? = null
val res: String = text.orEmpty().ifEmpty { "N/A" }.uppercase()
println(res)
Результат выполнения кода:
String "N/A"
Смотрите также
-
функцию
isEmpty,
которая проверяет, является ли строка пустой -
функцию
isNotEmpty,
которая проверяет, что строка не является пустой -
функцию
orEmpty,
которая преобразует nullable-строку в не-nullable -
функцию
ifBlank,
которая проверяет, является ли строка пустой или состоящей только из пробелов