استخدام Boolean? في تعبير if في Kotlin
مرحبًا بالجميع! لقد بدأت للتو في تعلم Kotlin بعد Java، وواجهت مشكلة لا أستطيع فهمها.
لدي متغير قابل للقيمة الخالية `isActive: Boolean?`، يمكن أن يكون `true` أو `false` أو `null`. أريد التحقق منه في شرط `if`:
```kotlin
var isActive: Boolean? = null
if (isActive) {
println("نشط")
} else {
println("غير نشط")
}
```
لكن المترجم يعطي خطأ: "Type mismatch: inferred type is Boolean? but Boolean was expected".
أفهم أن `Boolean?` هو نوع nullable، و `if` يتوقع `Boolean` عادي. لكن كيف يمكن معالجة هذه الحالة بشكل صحيح؟ أحتاج إلى أنه عند `null`، يقوم البرنامج أيضًا بشيء (مثل اعتبارها "غير نشط").
أخبروني كيف يتم ذلك في Kotlin؟ لقد جربت استخدام `if (isActive == true)`، لكن هذا يبدو حلاً مؤقتًا. هل هناك طريقة أكثر idiomatic؟
شكرًا مقدمًا على المساعدة!
<<>>
المشكلة: لماذا لا يمكن استخدام Boolean? في if
في Kotlin، النوع Boolean?