Une exception de pointeur NULL, ou java.lang.NullPointerException , se produit lorsqu'une application tente d'accéder à un type de référence qui n'a pas été initialisé . En Java , les types non primitifs tels que String ou Integer détiennent un pointeur vers une valeur , pas la valeur elle-même . Si vous essayez de faire référence à un type de référence et il n'a pas été initialisé , le pointeur ne pointe pas vers quelque chose , et est donc nulle. Cela se produit généralement quand un type référence est passé comme argument à une méthode. La meilleure façon de gérer l'exception est de dire la méthode à suivre si elle reçoit un pointeur NULL. Instructions
Création d'une classe simple à réaliser le NullPointerException
1
créer une nouvelle classe dans votre application comme suit . Cette classe est conçue pour produire une exception de pointeur nul
public class NullPointTest {
public static void main ( String [] args ) {
de tâche ( null); .
}
tâche public static void (Integer x ) {
int y = 1 + x ;
}
} < br > Page 2
Exécuter la classe. Ce qui suit va imprimer à la console:
Exception in thread "main " java.lang.NullPointerException
à NullPoint.task ( NullPoint.java : 10) pour
à NullPoint . principale ( NullPoint.java : 6)
3
Notez que le problème se produit parce que vous êtes de passage nulle et votre méthode de " tâche " attend un pointeur vers un entier
< br . > Photos impression d'une erreur pour le débogage
4
Ajoutez le code suivant avant le début de la méthode "tâche " . Cela vous permettra de déboguer en vous montrant où la valeur nulle est reçu.
If ( x == null) {
System.out.println ( "task () a reçu une valeur nulle pour x "); }
5
Vérifiez pour voir que votre code ressemble à ce qui suit:
public class NullPointTest {
< p > public static void main ( string [] args ) {
tâche ( null); }
tâche public static void (Integer x ) {
< p > if ( x == null) {
System.out.println ( "task () a reçu une valeur nulle pour x "); }
int y = 1 + x ;
} }
6
Exécuter la classe. Ce qui suit devrait afficher à l'écran à la place de l'exception : " la tâche ( ) a reçu une valeur nulle pour x . "
Gérer l'exception
7
Attribuer un . valeur par défaut lorsqu'une valeur nULL est passée en ajoutant ce qui suit au début de la méthode "tâche "
if ( x == null) {
x = 1;
< p> }
8
Vérifiez pour voir que votre code ressemble à ce qui suit:
public class NullPointTest {
public static void main ( string [] args) {
tâche ( null); }
tâche public static void (Integer x ) {
if ( x == null) {< br >
x = 1; }
int y = 1 + x ;
} }
9 < p > Exécuter la classe. Vous ne devriez plus voir le NullPointerException car x pointe désormais à 1.