코틀린에서는 "!!" 더블 뱅 연산자로 알려진 연산자입니다. 이 연산자는 "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)