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