English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا المقال، ستعلم تحويل الأنواع. كيفية تحويل متغير من نوع إلى آخر باستخدام أمثلة.
في Kotlin، لا يتم تحويل قيمة عددية لنوع آخر تلقائيًا حتى لو كان النوع الآخر أكبر. هذا يختلف عن طريقة معالجة تحويلات الأعداد في Java. على سبيل المثال:
في Java،
int number1 = 55; long number2 = number1; // كود صالح
في هذا السياق، يتم تحويل قيمة number1 من نوع int تلقائيًا إلى نوع long وتُنقل إلى متغير number2.
في Kotlin،
val number1: Int = 55 val number2: Long = number1 // خطأ: عدم تطابق النوع.
على الرغم منLongحجمه أكبر من Int، ولكن Kotlin لن يتحول تلقائيًا Int إلى Long.
على العكس من ذلك، تحتاج إلى استخدام toLong() بوضوح (لتحويل إلى نوع Long). Kotlin تفعل هذا لضمان أمان النوع لتجنب الأخطاء غير المتوقعة.
val number1: Int = 55 val number2: Long = number1.toLong()
هذه هي قائمة الدوال المستخدمة في تحويل الأنواع في Kotlin:
toByte() - تحويل النص إلى عدد بايت مع إشارة ثم يعود بالنتيجة.
toShort() - تحويل قيمة Int إلى Short.
toInt() - تحويل النص إلى عدد Int ويعود بالنتيجة.
toLong() - تحويل النص إلى عدد Long ويعود بالنتيجة.
toFloat() - تحويل النص إلى عدد Float ويعود بالنتيجة.
toDouble() - تحويل النص إلى عدد Double ويعود بالنتيجة.
toChar() - تحويل قيمة Int إلى Char.
لاحظ، لا يوجد تحويل لنوع Boolean.
يمكن استخدام الدالة المذكورة أعلاه في اتجاهين (تحويل من نوع أكبر إلى أصغر ونوع أصغر إلى أكبر).
لكن، التحويل من النوع الأكبر إلى النوع الأصغر قد يؤدي إلى تقصير القيمة. على سبيل المثال،
fun main(args: Array<String>) { val number1: Int = 545344 val number2: Byte = number1.toByte() println("number1 = $number1") println("number2 = $number2") }
عند تشغيل هذا البرنامج، الناتج سيكون:
number1 = 545344 number2 = 64