본문 바로가기
Kotlin

[코틀린] Safe call과 non-null 단정자

by Sky Titan 2020. 9. 18.
728x90

Safe Call (?.)

  • nullable한 변수를 검사하여 null이면 NullPointerException 발생하지 않고 그냥 그대로 null을 출력(사용)
var str1 : String? = null

var len = str1?.length

println(len) // 결과 : null

 

엘비스 연산자 (?:)

  • 변수가 null인지 아닌지 검사하여 null이 아니라면 왼쪽 식을 그대로 실행하고 null이라면 오른쪽 식 실행
var str1 : String? = null

var len = str1?.length?:-1

println(len) // 결과 : -1

 

non-null 단정자 (!!.)

  • 변수에 할당된 값이 null이 아님을 단정하므로 null검사 없이 컴파일
  • 하지만 만약 null이 사용되었을 경우 NullPointerException 발생
var str1 : String? = null

var len = str1!!.length

println(len) // 결과 : NullPointerException 발생
728x90

'Kotlin' 카테고리의 다른 글

[코틀린] 함수 종류들  (0) 2020.09.18
[코틀린] 콜백 함수  (0) 2020.09.18
[코틀린] 함수형 프로그래밍  (0) 2020.09.18
[코틀린] 함수 선언 및 사용  (0) 2020.09.18
[코틀린] 코틀린의 자료형  (0) 2020.09.01

댓글