Kotlin에서 Null 검사 구현

Kailash Vaviya 2024년2월15일
  1. 조건문을 사용하여 Kotlin에서 Null 체크 구현
  2. 안전한 호출을 사용하여 Kotlin에서 Null 확인 구현
  3. Elvis 연산자를 사용하여 Kotlin에서 Null 체크 구현
Kotlin에서 Null 검사 구현

몇몇 기본 유형은 null을 허용하지 않고 오류를 발생시킵니다. null 참조로 발생한 오류는 애플리케이션 오류를 일으키거나 시스템 충돌로 이어질 수 있습니다. 따라서 프로그램을 실행하기 전에 null 참조를 확인하는 것이 중요합니다.

Kotlin을 사용하면 다양한 방법으로 null을 확인할 수 있습니다. 이 기사에서는 Kotlin에서 null을 확인하고 NullPointerException 오류를 방지하는 방법을 설명합니다.

조건문을 사용하여 Kotlin에서 Null 체크 구현

Kotlin에서 null을 확인하는 가장 쉬운 방법은 조건문을 사용하는 것입니다. 여기에서 조건 연산자 == 또는 !=를 사용하고 그에 따라 조건문을 실행할 수 있습니다.

== 대신 ===, != 대신 !==를 사용할 수도 있습니다. 구조적 동등성 x == null은 어쨌든 참조적 동등성 x === null로 번역됩니다. 따라서 ==를 사용하든 ===를 사용하든 큰 차이가 없습니다.

다음은 Kotlin에서 null 검사에 대한 조건문의 사용을 보여주는 예입니다.

fun main() {
    val x: String? = "Android"
    if (x != null && x.length > 0) {
        print("This is not null, its length is: ${x.length}")
    } else {
        print("This is a null string!")
    }
}

출력:

Kotlin Null Check에 조건문 사용

여기를 클릭하여 예제의 데모를 확인하십시오.

이제 값을 null로 변경하면 다른 출력이 제공됩니다.

fun main() {
    val x: String? = null
    if (x != null && x.length > 0) {
        print("This is not null, its length is: ${x.length}")
    } else {
        print("This is a null string!")
    }
}

출력:

Kotlin에서 조건문을 사용하여 Null 확인

여기를 클릭하여 예제의 데모를 확인하십시오.

조건문은 변수가 val 키워드를 사용하여 선언된 경우에만 작동합니다. val 키워드는 단어를 변경할 수 없게 만듭니다.

var 변수를 사용하는 경우 null 참조를 확인한 후 변수 값이 변경될 가능성이 있습니다.

안전한 호출을 사용하여 Kotlin에서 Null 확인 구현

안전한 호출은 Kotlin의 null 체크에 대한 null 허용 속성에 액세스하는 또 다른 옵션입니다. 안전 통화 교환원 ?.을 사용할 수 있습니다. 표현식의 결과를 확인합니다.

표현식 결과에 따라 추가 명령문을 실행할 수 있습니다.

다음은 예입니다.

fun main() {
    val v = "Android"
    val x: String? = null
    println(v?.length)
    println(x?.length)
}

출력:

Kotlin Null Check에 안전한 호출 사용

여기를 클릭하여 예제의 데모를 확인하십시오.

안전한 호출은 체인을 생성할 때 특히 유용합니다. 예를 들어 다음과 같이 작성할 수 있습니다.

a?.b?.c?.d

위의 예에서 anull이 아니면 b로 이동합니다. bnull이 아니면 c로 이동하고 cnull이 아니면 d로 이동합니다.

컴파일러는 null 값을 찾을 때마다 실행을 중지하고 null을 반환합니다.

let 함수로 안전한 호출을 사용하여 Kotlin에서 Null 처리

일반적으로 목록의 값 중 하나가 null이면 컴파일러는 null을 반환합니다. 그러나 let 함수를 안전한 호출과 결합하여 목록의 null이 아닌 값에서만 작동하도록 할 수 있습니다.

예시:

fun main() {
    val myList: List<String?> = listOf("David", "Virat", "Steve", null)
    for (i in myList) {
        i?.let { println(it) } // prints only non-null values
    }
}

출력:

Kotlin Null Check를 위한 안전한 호출과 함께 let 함수 사용

여기를 클릭하여 예제의 데모를 확인하십시오.

Elvis 연산자를 사용하여 Kotlin에서 Null 체크 구현

Kotlin null 검사를 위한 또 다른 훌륭한 옵션은 Elvis 연산자 ?:를 사용하는 것입니다. 참조에서 null 값을 찾으면 비 null 또는 기본값을 반환합니다.

Elvis 연산자의 왼쪽과 오른쪽에 두 가지 표현식이 있습니다. 왼쪽 표현식의 값이 null이 아니면 연산자가 값을 반환하지만 왼쪽 표현식이 null이면 Elvis 연산자는 오른쪽 표현식의 값을 반환합니다.

여기서 핵심은 왼쪽 표현식이 null인 경우 Elvis 연산자가 오른쪽 표현식만 실행한다는 것입니다.

예시:

fun main(args: Array<String>) {
    val i: String? = null
    val j: String = i ?: "Welcome! This is Kotlin Programming."
    // This print statement uses the Elvis operator
    println(i ?: j)
}

출력:

Kotlin Null 검사에 Elvis 연산자 사용

여기를 클릭하여 예제의 데모를 확인하십시오.

Kailash Vaviya avatar Kailash Vaviya avatar

Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.

LinkedIn