NullPointerException rencontrée dans le projet est divisée en deux situations :
1. Référencez l'objet vide, c'est-à-dire appelez la méthode de l'objet vide ou faites référence aux propriétés de l'objet vide.
2. Affectez les classes d'encapsulation des types de base en 8 aux classes de base correspondantes.
1. Nous devons porter des jugements non nuls sur les objets renvoyés par les interfaces d'autres personnes, car nous ne savons pas si les objets obtenus seront vides. Pour Collection Map, j'appelle généralement CollectionUtils MapUtils. Pour l'objet String renvoyé. appellera StringUtils.isNotEmpty( ) pour effectuer un jugement non vide. Parmi eux, isNotEmpty juge non seulement NULL mais juge également les ensembles vides et les chaînes vides. Par exemple, interroger les résultats à partir de données. URL de tarification renvoyée dans le workflow
2. Pour les objets que vous créez, vous devez faire attention aux opérations que l'objet effectue et si l'objet sera vide au milieu. Si possible, ajoutez un jugement non nul, en particulier pour les opérations de collecte, il est facile de le signaler. un pointeur nul ! ! ! Donc, chaque fois que j’exploiterai une collection, je serai très prudent.
3. Soyez très prudent avec les objets de champ au premier plan, car ces objets sont créés par le framework. Si je n'entre pas de valeur dans la zone de texte au premier plan, bien que le backend obtienne une chaîne vide lors de la soumission, la probabilité de NullPointerException est très élevé.
4. Pour les opérations String, essayez d'utiliser la classe StringUtils d'Apache. Par rapport à String, c'est très sûr. Pour les opérations de collecte, utilisez CollectionUtils et MapUtils d'Apache. Par rapport aux classes d'outils Apache, l'efficacité d'exécution est également très élevée, comme StringUtils.split();
Certaines personnes disent que trop de jugement affectera les performances. Personnellement, je pense que le sacrifice de performances ici est négligeable par rapport à la sécurité du système.