آه، Kotlin Null Safety مقابل Java! مواجهة كلاسيكية، مثل Godzilla vs. Mothra، ولكن مع عدد أقل من الوحوش المدمرة للمدينة ومزيد من الرهبة الوجودية حول... حسنًا، لا شيء. ?
جافا، بارك الله في قلبها، كانت موجودة منذ عصر الاتصال الهاتفي. في ذلك الوقت، لم يكن أحد يشعر بالقلق من أن تتسبب القيم الخالية في تعطل تطبيقك، لأنه، لنكن صادقين، كان تعطل الإنترنت لتطبيقك أمرًا أكثر شيوعًا. لكن الزمن تغير، و
يعد نهج Java "أي شيء يمكن أن يكون فارغًا في أي وقت" موضع ترحيب مثل مودم الاتصال الهاتفي في عالم 5G. أدخل Kotlin، صديق مبرمج الأبطال الخارقين، هنا لإنقاذ اليوم (وسلامتك العقلية) من خلال ميزة Null Safety المذهلة!
NullPointerException هي لعنة وجود مطور Java. إنها مثل قطع LEGO الصغيرة تلك التي تدوس عليها في منتصف الليل - صغيرة ولكنها قادرة على التسبب في ألم شديد.
في الواقع، وصف توني هور، الرجل الذي اخترع المرجع الفارغ، بأنه "خطأ بقيمة مليار دولار". (نعتقد أنه داس على الكثير من ألعاب LEGO.)
من ناحية أخرى، تتخذ Kotlin نهجًا استباقيًا. إنه مثل تلك النعال المريحة التي ترتديها لتجنب الدوس على قطع LEGO. مع خاصية Null Safety في Kotlin، يصبح المترجم نفسه حارسًا يقظًا، ويمنع القيم الخالية من التسلل إلى التعليمات البرمجية الخاصة بك وإحداث الفوضى.
في Kotlin، عليك أن تخبر المترجم بشكل صريح ما إذا كان المتغير يمكن أن يكون خاليًا عن طريق إضافة ؟ إلى إعلان النوع. على سبيل المثال:
// Kotlin var name: String? = null // This variable can be null var age: Int = 42 // This variable cannot be null
بهذه البساطة؟ يشبه علامة تحذير: "احذر! قد تكون القيم الخالية كامنة هنا!" وإذا حاولت القيام بشيء محفوف بالمخاطر باستخدام متغير لاغٍ، فسيوقفك مترجم Kotlin في مساراتك برسالة خطأ. إنه مثل وجود حارس شخصي لرمزك، إلا أن هذا الحارس الشخصي جيد حقًا في القواعد النحوية وبناء الجملة.
حاولت Java، في إصداراتها الأحدث، اللحاق بميزات مثل الاختيارية. إنه جهد شجاع، يشبه إلى حد ما محاولة جدك تعلم TikTok. إنه يقصد جيدًا، لكن الأمر ليس هو نفسه تمامًا. يمكن أن يكون الخيار الاختياري مرهقًا ولا يوفر نفس مستوى أمان وقت الترجمة الذي توفره Kotlin's Null Safety.
// Java import java.util.Optional; public class OptionalExample { public static void main(String[] args) { // Creating an Optional object Optionalname = Optional.of("John Doe"); // Checking if a value is present if (name.isPresent()) { System.out.println("Name is present: " name.get()); } else { System.out.println("Name is absent"); } // Using orElse to provide a default value String defaultName = name.orElse("Unknown"); System.out.println("Name: " defaultName); // Using orElseGet to provide a default value with a supplier String anotherDefaultName = name.orElseGet(() -> "Another Unknown"); System.out.println("Name: " anotherDefaultName); } }
تُعد ميزة Null Safety من Kotlin بمثابة تغيير في قواعد اللعبة. فهو يجعل التعليمات البرمجية الخاصة بك أكثر أمانًا وإيجازًا وأقل عرضة لتلك NullPointerException المخيفة. لذا، إذا سئمت من قتال العناصر الفارغة وكأنهم الزعيم الأخير في لعبة فيديو، فقد يكون الوقت قد حان للتبديل إلى Kotlin. سوف عقلك شكرا لك. ?
ملاحظة: إذا كنت لا تزال على الحياد، فقط تخيل هذا: عالم حيث لن تضطر أبدًا إلى تصحيح أخطاء NullPointerException أخرى. يبدو وكأنه الجنة، أليس كذلك؟ ?
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3