why
Kotlin には様々な null の扱いの演算子があるのでまとめてみた
ここで実行して試しました
通常の実行
val maybeNullValue = null
println(maybeNullValue)
// null
普通に print すると null が返ってくる
nullableValue!! で null が返ってくるくらいなら ぬるぽ のエラーを返す
https://engawapg.net/kotlin/116/what-is-kotlin-exclamation-mark/
val nullableValue = null
println(nullableValue!!)
// Overload resolution ambiguity
// 多分ぬるぽ
null が入っている値に使うとぶっ壊れる演算子
エラーになるけど、null が渡るよりマシな場面に使えると推測。
Nullable な型に Null 不可で突っ込みたい時に使える
nullableValue?:"" で null だった場合は空の文字列を返す
val maybeNullValue = null
println(maybeNullValue?:"empty")
// empty
?: を使えば、それが null だった時に次の値を入れられる。
多くの場合は空の文字列を入れるだろう。
わかりやすいようにサンプルでは"empty"の文字列を入れている
こうすれば安全だし書きやすい。
nullableValue?.let { } の中に処理を書いて null な時は実行されないようにする
nullableValue?.let { // execute(nullableValue) }
こうすれば null がないときにはスキップされる
val nullableValue = "text"
nullableValue ?.let {
println(nullableValue)
}
println("executed")
//text
//executed
text を入れてみると print されるが
val nullableValue = null
nullableValue ?.let {
println(nullableValue)
}
println("executed")
//
//executed
null が入っているとスキップされる。
ワンライナーで書きやすい。
Top comments (0)