Maison >Java >javaDidacticiel >Comment résoudre NullPointerException en Java ?

Comment résoudre NullPointerException en Java ?

王林
王林avant
2023-09-21 19:49:021383parcourir

Comment résoudre NullPointerException en Java ?

NullPointerException (NullPointerException) est une exception d'exécution levée par la JVM lorsque notre code d'application, d'autres API référencées ou un middleware rencontrent les situations suivantes :

  • Tentative d'appel d'une méthode d'instance d'un objet nul.
  • Tentative d'accès ou de modification d'un champ spécifique d'un objet vide.
  • Essayez d'obtenir la longueur d'un objet vide sous forme de tableau.

Étapes pour résoudre NullPointerException :

  • Affichez la trace de la pile de java.lang.NullPointerException, déterminez où l'exception est déclenchée (code d'application, API tierce, logiciel middleware) et extrayez la ligne correspondante.
  • Si le problème survient dans le code de l'application, une révision du code est requise. Si le problème provient d'une API ou d'un middleware tiers, vous devez d'abord examiner le code référencé et déterminer s'il est indirectement la source du problème, par exemple en passant des valeurs nulles à des méthodes d'API tierces, etc.
  • Si un problème est détecté dans le code de l'application, essayez de déterminer quelle instance d'objet est nulle et à l'origine du problème. Nous devons modifier le code pour ajouter une validation de vérification nulle appropriée et une journalisation appropriée afin que nous puissions comprendre d'où viennent les valeurs nulles.

Exemple

public class NPEDemo {
   private String field1 = null;
   private String field2 = null;
   public String getField1() {
      return field1;
   }
   private void setField1(String field1) {
      this.field1 = field1;
   }
   public String getField2() {
      return field2;
   }
   private void setField2(String field2) {
      this.field2 = field2;
   }
   public static void main(String[] args) {
      try {
         NPEDemo npe = new NPEDemo();
         npe.setField1("field1 value");
         npe = null;
         npe.setField2("field2 Value");
      } catch (Throwable e) {
         System.out.println("Java Error is: "+e );
         e.printStackTrace();
      }
   }
}

Sortie

Java Error is: java.lang.NullPointerException
java.lang.NullPointerException
at NPEDemo.main(NPEDemo.java:24)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer