Avatar ·

كيفية التحقق مما إذا كان متغير lateinit قد تمت تهيئته في Kotlin؟

مرحبًا زملائي! لقد بدأت مؤخرًا في البرمجة بلغة Kotlin وواجهت موقفًا. لدي class أستخدم فيه `lateinit var` لخاصية. كل شيء يعمل، لكنني أريد التحقق بأمان مما إذا كانت هذه الخاصية قد تمت تهيئتها بالفعل قبل الوصول إليها. إذا حاولت الوصول إلى متغير `lateinit` غير مهيأ، أحصل على `UninitializedPropertyAccessException` مما يكسر البرنامج. إليك مثال على الكود الخاص بي: ```kotlin class MyApp { lateinit var user: User fun setup() { // هنا قد يتم تهيئة user أو لا if (someCondition) { user = User("Alice") } } fun printUser() { // أريد التحقق مما إذا كان user قد تمت تهيئته لتجنب الخطأ println(user.name) // إذا لم يتم تهيئته — سيحدث استثناء } } ``` حاولت كتابة `if (user != null)`، لكن المترجم يشتكي من أنه لا يمكن التحقق من متغيرات `lateinit` بهذه الطريقة. في الوثائق