본문 바로가기

기술면접

Kotlin에서 Null 처리 방법

1. ?

  • Nullable 가능하게 만듦
val a: String? = null
val b: String = "hello world"

//val c: String = null  // 에러 : null을 허용하지 않는 값에 null을 대입할 수 없음

 

2. ?.

  • null이 아니면 값 반환하고 그렇지 않으면 null 리턴
val a: String? = null
val b: String = "hello world"

println(b?.length) // 10
println(a?.length) // null 리턴

 

3. ?:

  • 왼쪽에 있는 표현식이 null 이 아니면 반환, 그렇지 않으면 오른쪽 반환
  • 엘비스 연산자는 주로 nullable한 타입에 사용
val length = a?.length ?: 0  // 0

 

4. as? 

  • as 시도가 성공하지 못한 경우 null 리턴
val b: String = "hello world"
val bar: Int? = b as? Int
println(bar) // null

5. !!

  • 강제로 null 아님 선언
fun ignoreNulls(s: String?) {
    val sNotNull: String = s!!
    println(sNotNull.length)
}

fun main(args: Array) {
    ignoreNulls(null) // null point 에러 발생
}

 

'기술면접' 카테고리의 다른 글

Java와 Kotlin 차이  (0) 2024.01.19
비동기 프로그래밍  (1) 2024.01.04
예외  (1) 2024.01.04
Kotlin 정적 타입 언어  (1) 2024.01.04