orEmpty

Common
JVM
1.0
fun <reified T> Array<out T>?.orEmpty(): Array<out T>
(Common source) (JVM source)
JS
1.1
fun <T> Array<out T>?.orEmpty(): Array<out T>
(source)

Returns the array if it's not null, or an empty array otherwise.

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val nullArray: Array<Any>? = null
println(nullArray.orEmpty().contentToString()) // []

val array: Array<Char>? = arrayOf('a', 'b', 'c')
println(array.orEmpty().contentToString()) // [a, b, c]
//sampleEnd
}
Common
JVM
JS
Native
1.0
fun <T> Collection<T>?.orEmpty(): Collection<T>
(source)

Returns this Collection if it's not null and the empty list otherwise.

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val nullCollection: Collection<Any>? = null
println(nullCollection.orEmpty()) // []

val collection: Collection<Char>? = listOf('a', 'b', 'c')
println(collection.orEmpty()) // [a, b, c]
//sampleEnd
}
Common
JVM
JS
Native
1.0
fun <T> List<T>?.orEmpty(): List<T>
(source)

Returns this List if it's not null and the empty list otherwise.

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val nullList: List<Any>? = null
println(nullList.orEmpty()) // []

val list: List<Char>? = listOf('a', 'b', 'c')
println(list.orEmpty()) // [a, b, c]
//sampleEnd
}
Common
JVM
JS
Native
1.0
fun <K, V> Map<K, V>?.orEmpty(): Map<K, V>
(source)

Returns the Map if its not null, or the empty Map otherwise.

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

fun main(args: Array<String>) {
//sampleStart
val nullMap: Map<String, Any>? = null
println(nullMap.orEmpty()) // {}

val map: Map<Char, Int>? = mapOf('a' to 1, 'b' to 2, 'c' to 3)
println(map.orEmpty()) // {a=1, b=2, c=3}
//sampleEnd
}
Common
JVM
JS
Native
1.0
fun <T> Set<T>?.orEmpty(): Set<T>
(source)

Returns this Set if it's not null and the empty set otherwise.