Kotlin 기초 파트 1 -- !!や ?: と ?.let で Nullable な値を処理する
왜
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される.
원라이너로 書きやすい.
Reference
이 문제에 관하여(Kotlin 기초 파트 1 -- !!や ?: と ?.let で Nullable な値を処理する), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kaede_io/kotlin-null-kamozhi-renaizhi-nidang-teruyan-suan-zi-hm6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)