كيفية تحويل String إلى Long في Kotlin؟ طرق آمنة ومعالجة الأخطاء
مرحبًا أيها الزملاء! لقد بدأت للتو في تعلم Kotlin (انتقلت من Java) وواجهت مهمة تبدو بسيطة. أحتاج إلى قراءة معرف المستخدم من حقل نصي في التطبيق (وهو String) وتمريره إلى دالة تنتظر Long.
في Java، كنت أستخدم عادةً `Long.parseLong(str)` أو `Long.valueOf(str)` مع تغليفها في try-catch. لكن في Kotlin، أرى عدة طرق مختلفة: `.toLong()`، `.toLongOrNull()`، بعض دوال الامتداد... وأنا مرتبك بشأن أي منها صحيح وآمن.
إليك مثال على الكود الخاص بي الذي يتسبب حاليًا في استثناء:
```kotlin
fun main() {
val userInput: String = "123abc" // المستخدم أدخل حروفًا بالخطأ
val userId: Long = userInput.toLong() // NumberFormatException!
println("User ID: $userId")
}
```
أفهم أنه يجب معالجة الأخطاء، لكني أريد القيام بذلك بشكل أنيق، بأسلوب Kotlin. بالإضافة إلى ذلك، ماذا لو كانت السلسلة النصية قد تكون `null`؟ أو تحتوي على مسافات؟ هل هناك طريقة شاملة لا ترمي استثناءً؟