selfstarter

Kotlin null처리(?=, !!., .?, ?:, as?,@) 본문

App/Android

Kotlin null처리(?=, !!., .?, ?:, as?,@)

selfstarter 2020. 8. 12. 14:13

t?=

kotlin은 기본적으로 null을 넣을 수 없다. 다만 ?= 를 사용하면 null을 넣을 수 있다

fun main() {
    var a : String ?= null
    var b : String = null    // error
}

!!.

절대 null이 아닐 때 사용. 하지만 NullException을 방지할 수는 없다

fun main() {
    val userName : String = "1231"
    println(userName!!.length)
}

.?

null에 접해서 Null Exception이 나는것을 방지하기 위해 .?키워드를 사용한다.

만약 null인경우 .?키워드를 사용하면 아예 실행되지 않고, null을 반환한다

fun main() {
   var a : String ?= null
   var b : String = "123"
   println(a?.toString())
   println(b?.toString())
}

?:

null인 경우 특정 값을 주고싶을 때 사용

fun main() {
   var a : String ?= null
   var b : String = "123"
   println(a?.toString() ?: "null이네요")
   println(b?.toString() ?: "null이네요")
}

as?

데이터 형을 변환시키는데 만약 변환하지 못할 경우 null을 return한다

fun main() {
   val a : String = "123" as String
   println(a)
}

@

주석 소개, this표현, Loop, Lamda 소개, 참조

Comments