nullable이 있으면 Boolean b
Java에서 다음 비교를 수행 할 수 있습니다.
Boolean b = ...;
if (b != null && b) {
/* Do something */
} else {
/* Do something else */
}
Kotlin에서는 !!
연산자 를 사용하여 동일한 결과를 얻을 수 있습니다 .
val b: Boolean? = ...
if (b != null && b!!) {
/* Do something */
} else {
/* Do something else */
}
그러나 사용은 !!
널 안전 시스템을 우회하여 나에게 약간 스케치 느낌이 듭니다.
이에 대한 더 우아한 접근 방식이 있습니까?
편집 조금 과장된 것 같습니다. 지역 변수의 경우 Banthar가 보여 주듯이 작동합니다. 그러나 내 부울 b
은 실제로 "백킹 필드가있는 속성"입니다 (나는 아직 속도에 익숙하지 않습니다). 결과는 다음과 같습니다.
b != nil
오른쪽을 확인하기 전에 그것을 잡을 수 없습니까?
val r = b?doSomething() ?: doSomethingElse()
작동해야 한다고 생각 합니다.
!!b
단순히 필요한 것이 아니라 왜 필요한가b
? (저는 kotlin에 익숙하지 않습니다. 단지 골동품