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
'개발 지식 > 자바 개발자를 위한 코틀린 입문' 카테고리의 다른 글
자바 개발자를 위한 코틀린 입문 - 다양한 함수 (0) | 2023.08.10 |
---|---|
자바 개발자를 위한 코틀린 입문 - Sealed Class (0) | 2023.08.09 |
자바 개발자를 위한 코틀린 입문 - 상속 방법과 주의점 (0) | 2023.08.09 |
자바 개발자를 위한 코틀린 입문 - 동일성/동등성 비교 방법 (0) | 2023.08.07 |
자바 개발자를 위한 코틀린 입문 - Kotlin의 특이한 타입 3가지 (0) | 2023.08.07 |