공부/Kotlin
null 관련 연산자(안전 호출 연산자, 어설션 연산자, 엘비스 연산자)
데자와 맛있다
2022. 10. 29. 00:40
1. 안전 호출 연산자
- ?. 이렇게 생겼다
- null 가능한 변수 쓸때 그 앞에 ?. 를 붙여야 한다 아니면 에러남
fun main() {
var favoriteActor: String? = "Sandra Oh"
println(favoriteActor?.length)
}
?. 안하면 에러남 ,, mvvm패턴을 적용할때 뮤터블 라이브 데이터에서 값 변경할경우가 있는데 그때 ?. 를 붙여야함
null 불허용인 변수 뒤에도 ?. 를 붙여도 에러 안나고 되긴하는데 붙일 필요가 없음
2. 어설션 연산자
- !!. 이렇게 생겼다
- 얘도 null허용하는 변수 뒤에 붙이는건데 ?. 랑 다르게 ?. 는 변수에 null들어있으면 걍 null 주는데
- !!. 얘는 null이 있으면 에러를 일으킴
3. 엘비스 연산자
- ?. 랑 같이 사용가능, 사실상 세트같음
- ?. 가 null을 반환할때 기본값을 추가하는게 가능하도록 만듦
- 변수가 null이면 ?: 앞의 표현식이 실행되고 아니면 ?:뒤 표현식 실행
참고 사이트: https://developer.android.com/courses/android-basics-compose/course?hl=ko