📑

Kotlinにはnullを防ぐためのスマートな防波堤がある

2020/10/17に公開

kotlinはnull安全にできている

val name :String = null
println(name)

→コンパイルエラーになる

val name :String? = null
println(name)

→nullと出力される
null許容にするには型の後ろに?をつけてあげる。

エルビス演算子

kotlinで使える優秀な演算子
?:
左辺がnullだった場合に右辺を代入してnullになるのを防いでくれる

val name : String? = null
println(name ?: "nullになるのを防ぐためにこの文字列を代入するよ")

→nullになるのを防ぐためにこの文字列を代入するよと出力される

データ的にnull許容で定義せざるを得ないが、nullにしたくない場面ではエルビス演算子を使うことでワンライナーで書いてしまうことができる。

?:なのか:?なのかたまに混合してしまうけど、
?左辺がnullかな?→:右辺になにかを入れよう
で覚えれると思う。

Discussion