ماذا يفعل العامل !! (double-bang) في Kotlin ولماذا هو مطلوب؟
مرحباً بالجميع! لقد بدأت للتو في تعلم Kotlin بعد Java وصادفت العامل الغريب `!!`. على سبيل المثال، رأيت هذا الكود:
```kotlin
val name: String? = getUserName()
val length = name!!.length
```
أفهم أن `?` تعني أن المتغير يمكن أن يكون null. لكن لماذا نحتاج `!!`؟ يبدو أنني إذا كنت متأكداً من أن القيمة ليست null، يمكنني ببساطة استخدام `?.` أو كتابة `if (name != null)`. وإذا أخطأت، سأحصل على NullPointerException - هذا سيء!
في Java، اعتدت التحقق من null باستخدام `if`، ولكن هنا عامل عدواني. ربما هو حل مؤقت لمن يتكاسلون عن كتابة التحقق؟ أم هناك حالات يكون فيها `!!` مبرراً حقاً؟ اشرحوا لي، من فضلكم، ما الغرض منه، وكيف يعمل، وهل يستحق استخدامه في المشاريع الحقيقية. أمثلة الكود مرحب بها.
<<>>
ما هو العامل `!!` (double-bang)؟
العامل !! في Kotlin يُسمى "عامل تأكيد عدم الخلو من القيمة" (not-null assertion operator). هو