ما هو null/nil في Java وكيفية التعامل معه؟
مرحبًا بالجميع! أتعلم أساسيات Java وواجهت مفهوم null. في بعض اللغات (مثل SQL أو Go) اعتدت على مصطلح nil. هل فهمي صحيح أنه لا يوجد nil في Java، ويُستخدم فقط null؟ وإذا كان الأمر كذلك، فما هو بالضبط — مرجع فارغ أم قيمة خاصة؟
ظهرت المشكلة عندما كتبت كودًا بسيطًا بفئة User وحاولت استدعاء دالة على كائن لم أقم بتهيئته:
public class User {\n String name;\n\n void printName() {\n System.out.println(name.length());\n }\n\n public static void main(String[] args) {\n User user = null;\n user.printName(); // هنا يحدث NullPointerException\n }\n}\nتوقعت أنه إذا كان user يساوي null، فإن الدالة ببساطة لن تفعل شيئًا أو سترجع سلسلة فارغة. لكن بدلاً من ذلك، يتعطل البرنامج مع خطأ.
لقد جربت بالفعل:
- التحقق من