Computer >> 컴퓨터 >  >> 프로그램 작성 >> Android

Kotlin 더블뱅(!!) 연산자는 무엇인가요?

<시간/>

코틀린에서는 "!!" 더블 뱅 연산자로 알려진 연산자입니다. 이 연산자는 "null이 아닌 어설션 연산자"라고도 합니다. 이 연산자는 값을 NULL이 아닌 유형 값으로 변환하는 데 사용되며 해당 값이 NULL이면 예외를 throw합니다. 다음 예제에서는 이 더블 뱅 연산자를 사용하는 방법을 볼 것입니다.

예시 1

이 예에서는 "name" 변수를 고려합니다. 프로그래머로서 "name" 값이 NULL입니다. 이제 다음 코드를 실행합니다.

fun main(args: Array<String>) {
   var name: String?
   name = null
   println(name)
}

출력

다음 출력을 생성합니다 -

null

이 코드는 실제로 요구 사항 설명을 해결하지 않습니다. "name" 값이 나올 때마다 NULL 포인터 예외를 던지고 싶었습니다. NULL입니다. 더블 뱅 연산자(!!)를 사용하여 이전 예제를 수정해 보겠습니다.

예시 2

fun main(args: Array<String>) {
   var name: String?
   name = null

   // Nothing has been used to resolve overload ambiguity exception
   println(name!! is Nothing?)
}

출력

런타임에 NULL 포인터 예외가 발생합니다 -

Exception in thread "main" java.lang.NullPointerException
at MainKt.main(main.kt:6)