Spec-Zone.ru › Kotlin 2

ifEmpty

kotlin-stdlib/kotlin.collections/ifEmpty

Для Kotlin: 1.3

inline fun <C : Array<*>, R, R> C.ifEmpty(defaultValue: () -> R): R

Возвращает этот массив, если он не пуст, или результат вызова функции defaultValue, если массив пуст.

Примеры

import kotlin.test.*

fun main() { 
   //sampleStart 
   val emptyArray: Array<Any> = emptyArray()

val emptyOrNull: Array<Any>? = emptyArray.ifEmpty { null }
println(emptyOrNull) // null

val emptyOrDefault: Array<Any> = emptyArray.ifEmpty { arrayOf("default") }
println(emptyOrDefault.contentToString()) // [default]

val nonEmptyArray = arrayOf(1)
val sameArray = nonEmptyArray.ifEmpty { arrayOf(2) }
println("nonEmptyArray === sameArray is ${nonEmptyArray === sameArray}") // true 
   //sampleEnd
}

inline fun <C : Collection<*>, R, R> C.ifEmpty(defaultValue: () -> R): R

Возвращает эту коллекцию, если она не пуста, или результат вызова функции defaultValue, если коллекция пуста.

Примеры

import kotlin.math.*
import kotlin.test.*

fun main() { 
   //sampleStart 
   val empty: List<Int> = emptyList()

val emptyOrNull: List<Int>? = empty.ifEmpty { null }
println(emptyOrNull) // null

val emptyOrDefault: List<Any> = empty.ifEmpty { listOf("default") }
println(emptyOrDefault) // [default]

val nonEmpty = listOf("x")
val sameList: List<String> = nonEmpty.ifEmpty { listOf("empty") }
println("nonEmpty === sameList is ${nonEmpty === sameList}") // true 
   //sampleEnd
}

inline fun <M : Map<*, *>, R, R> M.ifEmpty(defaultValue: () -> R): R

Возвращает эту карту, если она не пуста, или результат вызова функции defaultValue, если карта пуста.

Примеры

import kotlin.test.*
import java.util.*

fun main() { 
   //sampleStart 
   val emptyMap: Map<String, Int> = emptyMap()

val emptyOrNull = emptyMap.ifEmpty { null }
println(emptyOrNull) // null

val emptyOrDefault: Map<String, Any> = emptyMap.ifEmpty { mapOf("s" to "a") }
println(emptyOrDefault) // {s=a}

val nonEmptyMap = mapOf("x" to 1)
val sameMap = nonEmptyMap.ifEmpty { null }
println("nonEmptyMap === sameMap is ${nonEmptyMap === sameMap}") // true 
   //sampleEnd
}

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/if-empty.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API