orEmpty

inline fun <T> Collection<T>?.orEmpty(): Collection<T>(source)

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

Since Kotlin

1.0

Samples

import kotlin.test.*

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

val collection: Collection<Char>? = listOf('a', 'b', 'c')
println(collection.orEmpty()) // [a, b, c] 
   //sampleEnd
}

inline fun <T> List<T>?.orEmpty(): List<T>(source)

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

Since Kotlin

1.0

Samples

import kotlin.test.*

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

val list: List<Char>? = listOf('a', 'b', 'c')
println(list.orEmpty()) // [a, b, c] 
   //sampleEnd
}

inline fun <K, V> Map<K, V>?.orEmpty(): Map<K, V>(source)

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

Since Kotlin

1.0

Samples

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

fun main() { 
   //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
}

inline fun <T> Set<T>?.orEmpty(): Set<T>(source)

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

Since Kotlin

1.0

expect inline fun <T> Array<out T>?.orEmpty(): Array<out T>(source)

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

Since Kotlin

1.0

Samples

import kotlin.test.*

fun main() { 
   //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
}
actual inline fun <T> Array<out T>?.orEmpty(): Array<out T>(source)

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

Since Kotlin

1.1

Samples

import kotlin.test.*

fun main() { 
   //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
}
actual inline fun <T> Array<out T>?.orEmpty(): Array<out T>(source)

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

Since Kotlin

1.0

Samples

import kotlin.test.*

fun main() { 
   //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
}