본문 바로가기

기타/안드로이드

Kotlin의 null

Kotiln의 null

Kotlin에서 null 허용 여부 사용  |  Android Developers

 

Kotlin에서 null 허용 여부 사용  |  Android Developers

Kotlin에서 null 허용 여부를 사용하는 방법을 알아봅니다.

developer.android.com

위의 페이지를 참고하여 kotlin에서의 null을 어떻게 다루는지 알아보자

 

nullable 표기

kotlin에서 변수에 null을 넣고 싶다면 따로 표기를 해줘야 한다

바로 ? 연산자 기호다

var name: String? = null

이런 식으로 자료형까지 명시해준 뒤 뒤에 ?를 붙여야 한다

 

nullable 접근

nullable한 변수로 선언했을 경우 그 안의 속성이나 메소드에 접근하려면 특별한 연산자를 사용해야 한다

역시 ? 연산자이다

var name: String? = "nonaninona"
println(name?.length)

이 연산자는 null인지 아닌지 판단을 하고 접근을 하기 때문에 nullPointerException 오류가 발생하지 않는다

판단해보고 null이면 그냥 null을 출력한다

fun main() {
    var name: String? = null
    println(name?.length)
}

<결과>

null

 

null인지 아닌지 판단하는 걸 건너뛰고 싶다면 (= 여타 다른 언어처럼 그냥 바로 접근하고 싶다면)

느낌표 두 개를 쓰면 된다 !!

fun main() {
    var name: String? = null
    println(name!!.length)
}

이러면 이제 오류가 날 것이다

 

nullable 예외처리

null 예외처리를 하고 싶다면 전에 배운 조건문과 연계하면 된다

그러나 if-else보다 훨씬 간단한 연산자가 있다

바로 elvis 연산자이다 ?:

fun main() {
    var name: String? = null
    val result = name?.length ?: "null Exception"
    println(result)
}

<결과>

null Exception

 

다음과 같이 null인 경우의 값을 지정해 줄 수 있다