Kotlin 앱 프로그래밍

코틀린 널 안정성 연산자

쿠카이든 2023. 5. 21. 20:01
728x90
fun main() {
	var data: String? = null
    println("data length : ${data?.length ?: 0}")
}

실행 결과

  • 위 소스는 data가 null이면 0을 반환하고 null이 아니면 length를 이용해 문자열의 개수를 얻는 소느
    • null 점검 코드를 작성하지 않았는데도 널 안정성을 확보

 

728x90

 

엘비스 - ?: 연산자
  • 엘비스 연산자란 ?: 기호를 말한다.
    • 이 연산자는 변수가 널이면 널을 반환한다.
    • 변수가 널일 때 대입해야 하는 값이나 실행해야 하는 구문이 있을 때, 엘비스 연산자를 이용한다.
fun main() {
	var data: String? = "kuka"
    println("data = $data : ${data?.length ?: -1}")
    data = null
    println("data = $data : ${data?.length ?: -1}")
}

실행 결과

 

예외 발생 - !! 연산자
fun some(data: String?): Int {
    return data!!.length
}

fun main() {
    println(some("kkang"))
    println(some(null))
}

실행 결과

 

  • 위 소스는 some() 함수에 문자열을 전달하면 오류 없이 정상으로 실행되고, null을 전달하면 data!!.length 코드로 예외 메시지를 출력하는 것을 보여준다.
728x90