Elvis 연산자
Coddy Kotlin 여정의 기초 섹션에 포함된 레슨. 93개 중 15번째.
안전 호출 연산자는 충돌을 방지하는 데 유용하지만, 때로는 null 대신 실제 값이 필요합니다. Elvis 연산자 ?:를 사용하면 표현식이 null일 때 기본값을 제공할 수 있습니다.
구문은 간단합니다. nullable 표현식 뒤에 ?:를 배치하고, 그 뒤에 대체값을 지정합니다:
fun main() {
val name: String? = null
val displayName = name ?: "Guest"
println(displayName) // 출력: Guest
}왼쪽이 null이 아니면 해당 값이 사용됩니다. null이면 오른쪽이 결과가 됩니다. 이는 안전한 호출과 완벽하게 함께 작동합니다.
fun main() {
val text: String? = null
val length = text?.length ?: 0
println(length) // 출력: 0
val greeting: String? = "Hello"
val greetingLength = greeting?.length ?: 0
println(greetingLength) // 출력: 5
}이 연산자는 ?:가 옆에서 보면 엘비스의 헤어스타일처럼 보이기 때문에 이런 이름이 붙었습니다. 더 중요한 점은 합리적인 기본값을 사용하여 null 허용 타입을 null이 아닌 값으로 깔끔하게 변환할 수 있다는 것입니다.
챌린지
쉬움소포에는 선택적 추적 라벨과 선택적 목적지가 있습니다. 시작 코드에는 두 nullable 값이 모두 제공됩니다. 추적 라벨이 없을 때 ?:를 사용하여 "Pending"을 선택하고, 목적지가 없을 때 "Unassigned"를 선택하세요. 선택한 라벨을 출력한 다음, 선택한 목적지를 별도의 줄에 출력하세요.
직접 해보기
fun main() {
val trackingLabel: String? = null
val destination: String? = "Harbor"
// 두 표시 값을 선택하고 출력합니다.
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: Kotlin 플레이그라운드