نقطة النقطة = فارغة ؛
dot.getX();
< / pre>< / div>يؤدي الوصول إلى مرجع فارغ إلى رفع الاستثناء NullPointerException:استثناء في الموضوع "main" java.lang.NullPointerException
at Test.main (Test.java: 27)
< / pre>2) الوصول إلى مثيل كائن فارغ أو تعديله.Point dot = null;
dot.getX();
< / pre>استثناء في الموضوع "الرئيسي" java.lang.NullPointerException
في Test.main (Test.java: 38)
< / pre>3) عند استخدام throw nullthrow < / i> يتحقق من أن الوسيطة غير فارغة ، وإذا كان صفرا ، فإنه يرتفع NullPointerException.IOException nullException = null;
try {
رمي nullException ؛
} catch (IOException e) {
e.printStackTrace();
} < / pre>< / div>4) عند استدعاء طول الصفيف الفارغ
< pre class = "prettyprint lang-java" >char[] ch = null ؛
int الطول = ch.length ؛ < / pre>5) عند الوصول إلى مواقع فارغة مثل صفيف < br / >< div>مثال على ذلك هو الوصول إلى مربعات صفيف null.char[] ch = null;
char c = ch[0]; < / pre>< / div>6) عند مزامنة nullتحصل على NullPointerException إذا كنت تحاول مزامنة كائن null < / i> أو وضعه داخل كتلة متزامنة.Thread th=null;
synchronized (th) {
System.out.print ("هذا الموضوع متزامن") ؛
}ما هي وسائل الوقاية
- أفضل طريقة لتجنب هذا النوع من الاستثناءات في حال لم تقم بإنشاء الكائن بنفسك هو التحقق مما إذا كان الكائن صفرا. يجب كتابة الكود على النحو التالي: < / li>
void display (عبارة سلسلة) {هذا الحل ليس مثاليا في بعض الحالات لأن الكائن فارغ لذلك لا يحدث شيء في إجراء display().
// تحقق مما إذا كانت الجملة ليست فارغة
if (phrase!=null)
System.out.print(عبارة);
}في IDEs مثل Eclipse أو Netbeans، يتم عرض رقم السطر الذي أدى إلى حدوث الخطأ. هذه طريقة جيدة لتحديد نوع الخطأ. يمكن أن يكون للمتغيرات < / li> قيمة افتراضية مثل السلسلة في هذا الرمز:
< / li>سلسلة سلسلة = "";
< / pre>< / ul >< li>تهيئة مربعات الاختيار بعد الإعلان عن صفيف.< / li>/ / إعلان < br / > خيط [] th = مؤشر ترابط جديد [3] ؛
/ / تهيئة < br / >th [0] = مؤشر ترابط جديد ();
th [1] = مؤشر ترابط جديد ();
th [2] = مؤشر ترابط جديد ();
< / pre>< / ul>استخدم المتغيرات المنطقية والعدادات,... إلخ لتحسين الكود الخاص بك.< / li>< / ul>< / div>
Please disable your ad blocker and refresh the window to use this website.