ينقسم NullPointerException الذي تمت مواجهته في المشروع إلى حالتين:
1. قم بالإشارة إلى الكائن الفارغ، أي استدعاء طريقة الكائن الفارغ أو الرجوع إلى خصائص الكائن الفارغ.
2. قم بتعيين فئات التغليف للأنواع الأساسية في 8 للفئات الأساسية المقابلة.
1. نحتاج إلى إصدار أحكام غير فارغة على الكائنات التي يتم إرجاعها بواسطة واجهات الأشخاص الآخرين، لأننا لا نعرف ما إذا كانت الكائنات التي تم الحصول عليها ستكون فارغة أم لا سيتم استدعاء StringUtils.isNotEmpty() لإجراء حكم غير فارغ. من بينها، isNotEmpty لا يحكم على NULL فحسب، بل يحكم أيضًا على المجموعات الفارغة والسلاسل الفارغة. على سبيل المثال، الاستعلام عن النتائج من البيانات. تم إرجاع عنوان URL للتسعير في سير العمل
2. بالنسبة للكائنات التي تقوم بإنشائها، يجب عليك الانتباه إلى العمليات التي ينفذها الكائن، وما إذا كان الكائن سيكون فارغًا في المنتصف، وإذا أمكن، أضف حكمًا غير فارغ، خاصة لعمليات التجميع، فمن السهل الإبلاغ عنه مؤشر فارغ! ! ! لذلك في كل مرة أقوم فيها بتشغيل مجموعة، سأكون حذرًا للغاية.
3. كن حذرًا جدًا بشأن كائنات الحقل في المقدمة، لأنه يتم إنشاء هذه الكائنات بواسطة إطار العمل إذا لم أدخل قيمة في مربع النص في المقدمة، على الرغم من أن الواجهة الخلفية ستحصل على سلسلة فارغة عند الإرسال، فمن المحتمل أن تكون هذه هي الاحتمالية. NullPointerException مرتفع جدًا.
4. بالنسبة لعمليات السلسلة، حاول استخدام فئة StringUtils الخاصة بـ Apache، مقارنةً بالسلسلة، وهذا آمن جدًا. بالنسبة لعمليات التجميع، استخدم CollectionUtils و MapUtils الخاصين بـ Apache. بالمقارنة مع فئات أدوات Apache، فإن كفاءة التنفيذ عالية جدًا أيضًا، مثل StringUtils.split();
يقول بعض الناس أن الإفراط في الحكم سيؤثر على الأداء، وأنا شخصياً أعتقد أن التضحية بالأداء هنا لا تذكر مقارنة بأمان النظام.