[Kotlin 깃북] Ch3 코틀린 사용을 위한 기본 문법
8. null 값에 대한 안정적인 처리: Null Safety
null 값 허용하기 ?
- null 값을 허용하기 위해 변수를 선언할 때 타입 뒤에 ?(Nullable) 입력
- 함수 파라미터에 null 허용하는 경우, 해당 파라미터 null 체크 해야 사용 가능
fun nullParameter(str: String?){
if (str != null) {
var length2 = str.length
}
}
- 함수의 리턴 타입 Nullable하지 않으면 null 값 리턴 불가능
fun nullReturn(): String? {
return null
}
안전한 호출 ?.
- Safe call
- 해당 변수가 null일 경우 메서드/프로퍼티 호출하지 X
fun testSafeCall(str: String?): Int? {
var resultNull: Int? = str?.length
return resultNull
}
Null 값 대체하기 ?:
- Elvis Operator
- 해당 변수가 null일 때 대체될 값 설정
fun testElvis(str: String?): Int {
var resultNonNull: Int = str?.length ?: 0
return resultNonNull
}