Kotlin 앱 프로그래밍
코틀린 널 안정성 연산자
쿠카이든
2023. 5. 21. 20:01
728x90
fun main() {
var data: String? = null
println("data length : ${data?.length ?: 0}")
}

- 위 소스는 data가 null이면 0을 반환하고 null이 아니면 length를 이용해 문자열의 개수를 얻는 소느
- null 점검 코드를 작성하지 않았는데도 널 안정성을 확보
엘비스 - ?: 연산자
- 엘비스 연산자란 ?: 기호를 말한다.
- 이 연산자는 변수가 널이면 널을 반환한다.
- 변수가 널일 때 대입해야 하는 값이나 실행해야 하는 구문이 있을 때, 엘비스 연산자를 이용한다.
fun main() {
var data: String? = "kuka"
println("data = $data : ${data?.length ?: -1}")
data = null
println("data = $data : ${data?.length ?: -1}")
}

예외 발생 - !! 연산자
fun some(data: String?): Int {
return data!!.length
}
fun main() {
println(some("kkang"))
println(some(null))
}

- 위 소스는 some() 함수에 문자열을 전달하면 오류 없이 정상으로 실행되고, null을 전달하면 data!!.length 코드로 예외 메시지를 출력하는 것을 보여준다.
728x90