الخاصية javaClass في لغة Kotlin
< Kotlin
تعطي الخاصية javaClass
صنف الجافا الخاص بالكائن الذي استدعيت عبره في وقت التشغيل. هذه الخاصية مُعرّفة على جميع الأصناف المنحدرة من الصنف Any
.
البنية العامة
inline val <T : Any> T.javaClass: Class<T>
يُلاحَظ وجود الكلمة المفتاحية inline
للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).
القيم المعادة
صنف الجافا الخاص بالكائن الذي استدعيت عبره في وقت التشغيل.
أمثلة
استخدام الخاصية javaClass
على سلسةٍ نصية
تنشئ الشيفرة الآتية سلسلة نصية ثم تستخرج صنف الجافا الخاص بها عبر استدعاء الخاصية javaClass
عبر تلك السلسلة ثم تطبع النتيجة:
fun main(args: Array<String>) {
var a: String = "hsoub"
var JClass_a = a.javaClass
println(" $JClass_a") // class java.lang.String
}
ملاحظة
هذه الخاصية صارت مُتجاوزة، قد يكون الأفضل استخدام الخاصية java للواجهة KClass
الموافقة لهذا الصنف. يمكنك كذلك تحويل (cast) النسخة إلى Any
إن أردت الحصول على صنف الجافا الخاص بتنزيل (implementation) الواجهة KClass
أثناء التشغيل.
المثال التالي يوضح هذه الطريقة:
fun main(args: Array<String>) {
var a: String = "hsoub"
var KClass_a = a::class //
var JClass_a = KClass_a.java
println(" $JClass_a") // class java.lang.String
}
انظر أيضًا
- الصنف
Any:
الصنف الأعلى لكل أصناف Kotlin.