📑
Kotlinにはnullを防ぐためのスマートな防波堤がある
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