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!")
}
}
출력:
여기를 클릭하여 예제의 데모를 확인하십시오.
이제 값을 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!")
}
}
출력:
여기를 클릭하여 예제의 데모를 확인하십시오.
조건문은 변수가 val
키워드를 사용하여 선언된 경우에만 작동합니다. val
키워드는 단어를 변경할 수 없게 만듭니다.
var
변수를 사용하는 경우 null
참조를 확인한 후 변수 값이 변경될 가능성이 있습니다.
안전한 호출을 사용하여 Kotlin에서 Null
확인 구현
안전한 호출은 Kotlin의 null
체크에 대한 null 허용 속성에 액세스하는 또 다른 옵션입니다. 안전 통화 교환원 ?.
을 사용할 수 있습니다. 표현식의 결과를 확인합니다.
표현식 결과에 따라 추가 명령문을 실행할 수 있습니다.
다음은 예입니다.
fun main() {
val v = "Android"
val x: String? = null
println(v?.length)
println(x?.length)
}
출력:
여기를 클릭하여 예제의 데모를 확인하십시오.
안전한 호출은 체인을 생성할 때 특히 유용합니다. 예를 들어 다음과 같이 작성할 수 있습니다.
a?.b?.c?.d
위의 예에서 a
가 null
이 아니면 b
로 이동합니다. b
가 null
이 아니면 c
로 이동하고 c
가 null
이 아니면 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
}
}
출력:
여기를 클릭하여 예제의 데모를 확인하십시오.
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)
}
출력:
여기를 클릭하여 예제의 데모를 확인하십시오.
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