개발 지식/자바 개발자를 위한 코틀린 입문
자바 개발자를 위한 코틀린 입문 - null 처리 방법
통사부
2023. 8. 7. 12:53
728x90
- nullable
코틀린에서 null이 들어갈 수 있는 타입은 완전히 다르게 간주된다
null 값이 존재하는 타입의 경우 ?를 붙여 표현한다
// val str: String = null // 컴파일 에러 발생
val str: String? = null
- Safe Call
null이 아닌 경우에만 호출
'?.' 를 통해 구현
fun main() {
var str: String? = null
//println(str.length) // 실행 불가
println(str?.length) // Safe Call: null이 아닐 경우 실행. null일 경우 null 값 반환
}
- Elvis 연산자
null인 경우에만 호출
'?:' 를 통해 구현
fun startsWithA1(str: String?): Boolean {
return str?.startsWith("A")
?: throw IllegalArgumentException("null이 들어왔습니다")
}
fun startWithA2(str: String?): Boolean? {
return str?.startsWith("A")
}
fun startWithA3(str: String?): Boolean {
return str?.startsWith("A") ?: false
}
- !! 연산자
null이 절대 아닐 때 사용
'!!' 를 통해 구현
fun startsWithA4(str: String?): Boolean {
return str!!.startsWith("A") // 절대 null이 아니라는 것을 명시할 때 !! 사용
}
728x90