Notice

[코틀린] 엘비스 연산자

 `?:` 로 표현

  • `?:` 의 왼쪽 객체가 non-null이면 그 객체의 값이 리턴되고, null이면 `?:` 의 오른쪽 값을 리턴한다.
  • null 대신 사용할 디폴트 값을 지정할 때 편리하게 사용할 수 있는 연산자

 

예시

ex1)

val str: String? = "1234"
val nullStr: String? = null

var len: Int = str?.length ?: -1		
println("str.length: $len")				// str이 null이 아니어서 4 출력

len = nullStr?.length ?: -1
println("nullStr.length: $len")			// nullStr이 null이어서 -1 출력

ex2)

// val num1: Int? = null

val num1: Int? = 100
val num2 = num1 ?: 10 		// num이 null이면 num2에 10을 대입

println(num2)		
// num1이 null이 아니어서 100 출력

 

 

 


 

 

[출처] https://codechacha.com/ko/kotlin-elvis-operation/

'안드로이드 > 코틀린' 카테고리의 다른 글

[코틀린] 05. Collection(List, Set, Map)  (0) 2021.09.04
[코틀린] 04. 배열  (0) 2021.09.03
[코틀린] 03. 연산자와 제어흐름  (0) 2021.08.23
[코틀린] 02. 함수  (0) 2021.08.23
[코틀린] 01. 변수  (0) 2021.08.22
글쓰기 설정