كيفية التحقق من نوع كائن (instanceof) في Kotlin؟
مرحباً بالجميع! لقد بدأت للتو في تعلم Kotlin بعد Java وواجهت مشكلة. في Java، اعتدت استخدام العامل `instanceof` للتحقق من نوع كائن، على سبيل المثال:
```java
if (obj instanceof String) {
String str = (String) obj;
System.out.println(str.length());
}
```
لكن في Kotlin لا أستطيع العثور على ما يعادله. حاولت كتابة شيء مثل `obj instanceof String`، لكن المترجم يعطي خطأ. أعلم أن Kotlin لديه الكلمة المفتاحية `is`، لكنني لست متأكداً من كيفية استخدامها بشكل صحيح. بالإضافة إلى ذلك، في Java بعد التحقق من `instanceof`، كنت مضطراً لتحويل النوع بشكل صريح، أما في Kotlin، كما فهمت، يتم ذلك تلقائياً؟ أم لا؟
أرجو منكم إرشادي حول كيفية التحقق من نوع كائن في Kotlin وتحويله بأمان إلى النوع المطلوب؟ أنا مهتم ليس فقط بالصيغة الأساسية، ولكن أيضاً بأفضل الممارسات. على سبيل المثال، ماذا أفعل إذا كنت بحاجة للتحقق من النوع في تعبير `when` أو عند العمل مع المجموعات؟ شكراً مسبقاً على المساعدة!
مثال على الكود الخاص بي الذي لا يعمل: