الفرق بين المراجعتين لصفحة: «Kotlin/javaClass»
< Kotlin
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الخاصية javaClass في لغة Kotlin}}</noinclude> تعطي الخاصية javaClass صنف الجافا الخاص بالكائن...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الخاصية javaClass في لغة Kotlin}}</noinclude> | <noinclude>{{DISPLAYTITLE: الخاصية javaClass في لغة Kotlin}}</noinclude> | ||
تعطي الخاصية <code>javaClass</code> صنف الجافا الخاص بالكائن الذي استدعيت عبره في وقت التشغيل. هذه الخاصية مُعرّفة على جميع الأصناف المنحدرة من الصنف <code>[[Kotlin/Any|Any]]</code>. | |||
تعطي الخاصية javaClass صنف الجافا الخاص بالكائن الذي استدعيت عبره في وقت التشغيل. هذه الخاصية مُعرّفة على جميع الأصناف المنحدرة من الصنف Any. | |||
== البنية العامة == | == البنية العامة == | ||
inline val < | <syntaxhighlight lang="kotlin"> | ||
inline val <T : Any> T.javaClass: Class<T> | |||
يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع [[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]. | </syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع [[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]. | ||
== القيم المعادة == | == القيم المعادة == | ||
سطر 13: | سطر 12: | ||
== أمثلة == | == أمثلة == | ||
=== استخدام الخاصية javaClass على سلسةٍ نصية === | === استخدام الخاصية <code>javaClass</code> على سلسةٍ نصية === | ||
تنشئ الشيفرة الآتية سلسلة نصية ثم تستخرج صنف الجافا الخاص بها عبر استدعاء الخاصية javaClass عبر تلك السلسلة ثم تطبع النتيجة: | تنشئ الشيفرة الآتية سلسلة نصية ثم تستخرج صنف الجافا الخاص بها عبر استدعاء الخاصية <code>javaClass</code> عبر تلك السلسلة ثم تطبع النتيجة:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
var a: String = "hsoub" | var a: String = "hsoub" | ||
var JClass_a = a.javaClass | var JClass_a = a.javaClass | ||
println(" $JClass_a") // class java.lang.String | println(" $JClass_a") // class java.lang.String | ||
} | } | ||
</syntaxhighlight> | |||
== ملاحظة == | == ملاحظة == | ||
هذه الخاصية صارت مُتجاوزة، قد يكون الأفضل استخدام الخاصية java للواجهة KClass الموافقة لهذا الصنف. يمكنك كذلك تحويل (cast) النسخة إلى Any إن أردت الحصول على صنف الجافا الخاص بتنزيل (implementation) الواجهة KClass أثناء التشغيل. | هذه الخاصية صارت مُتجاوزة، قد يكون الأفضل استخدام الخاصية java للواجهة <code>KClass</code> الموافقة لهذا الصنف. يمكنك كذلك تحويل (cast) النسخة إلى <code>[[Kotlin/Any|Any]]</code>إن أردت الحصول على صنف الجافا الخاص بتنزيل (implementation) الواجهة <code>KClass</code> أثناء التشغيل. | ||
المثال التالي يوضح هذه الطريقة:<syntaxhighlight lang="kotlin"> | |||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
var a: String = "hsoub" | var a: String = "hsoub" | ||
var KClass_a = a::class // | var KClass_a = a::class // | ||
var JClass_a = KClass_a.java | var JClass_a = KClass_a.java | ||
println(" $JClass_a") // class java.lang.String | println(" $JClass_a") // class java.lang.String | ||
} | } | ||
</syntaxhighlight> | |||
== انظر أيضًا == | == انظر أيضًا == | ||
* الصنف | * الصنف <code>[[Kotlin/Any|Any]]:</code>الصنف الأعلى لكل أصناف Kotlin. | ||
== مصادر == | == مصادر == | ||
* الخاصيةjavaClass في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin. | * [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/java-class.html الخاصيةjavaClass في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:kotlin properties]] | [[تصنيف:kotlin properties]] |
مراجعة 18:19، 9 مايو 2018
تعطي الخاصية 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.