Kotlin - Null合体演算子(エルビス演算子)

公開日:2019-11-06 更新日:2019-11-06
[Kotlin]

1. 概要

Null合体演算子( ?: )を使うと、変数が null だった時のデフォルト値を指定できます。


2. Null合体演算子( ?: )

var s:String? = null
println(s ?: "Default") // Default

s = "test"
println(s ?: "Default") // test

null の際に例外をスローすることもできます。
var s1: String? = null
println(s1 ?: throw NullPointerException())

null の際に無名関数を実行することもできます。
var n = 10
var s1:String? = null
var s2 = s1 ?: {
    val s = (1..n).joinToString(",")
    s  // 戻り値(return不要)
}()
println(s2) // 1,2,3,4,5,6,7,8,9,10