Kotlin
[코틀린] Safe call과 non-null 단정자
Sky Titan
2020. 9. 18. 11:32
728x90
Safe Call (?.)
- nullable한 변수를 검사하여 null이면 NullPointerException 발생하지 않고 그냥 그대로 null을 출력(사용)
var str1 : String? = null
var len = str1?.length
println(len) // 결과 : null
엘비스 연산자 (?:)
- 변수가 null인지 아닌지 검사하여 null이 아니라면 왼쪽 식을 그대로 실행하고 null이라면 오른쪽 식 실행
var str1 : String? = null
var len = str1?.length?:-1
println(len) // 결과 : -1
non-null 단정자 (!!.)
- 변수에 할당된 값이 null이 아님을 단정하므로 null검사 없이 컴파일함
- 하지만 만약 null이 사용되었을 경우 NullPointerException 발생
var str1 : String? = null
var len = str1!!.length
println(len) // 결과 : NullPointerException 발생728x90