Kotlin 기초 파트 1 -- !!や ?: と ?.let で Nullable な値を処理する

3834 단어 kotlinnull



Kotlin には様々な null の扱いの演算子があるのでまとめてみた

https://play.kotlinlang.org/

ここで実行して試しました


通常の実行




    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 だった時に次の値を入れられる.

多くの場合は空の文字列を入れるだろう.
わかりやすいようにsanplでは"empty"の文字列を入れている

こうすれば安全だし書きやすい.

nullableValue?.let { } の中に処理を書いて null な時は実行されないようにする



https://www.tutorialspoint.com/best-way-to-null-check-in-kotlin#:~:text=let%22%20operator,a%20non%2DNULL%20able%20value .

nullableValue?.let {//실행(nullableValue) }

こうすれば null がないときには skipされる

    val nullableValue = "text"
    nullableValue ?.let {
      println(nullableValue)
    }
    println("executed")

//text
//executed


text を入れてみると 인쇄 されるが

    val nullableValue = null
    nullableValue ?.let {
      println(nullableValue)
    }
    println("executed")
//
//executed


null が入っているとskippされる.
원라이너로 書きやすい.

좋은 웹페이지 즐겨찾기