Exception de pointeur nul en Java: implémentation et exemples

Cet article vous fournira une connaissance détaillée et complète du fonctionnement de l'exception de pointeur nul en Java avec de nombreux exemples.

Des exceptions sont nécessaires pour la bonne exécution du code et permettent aux programmeurs de savoir l'erreur à résoudre. Dans cet article, nous nous concentrerons sur l'exception de pointeur nul en Java dans l'ordre suivant:



Qu'est-ce que l'exception de pointeur nul en Java?



L'exception de pointeur null en Java est une exception d'exécution. Dans le monde de Java, une valeur nulle spéciale est attribuée à une référence d'objet. L'exception de pointeur nul est introduite lorsqu'un programme tente d'utiliser une référence d'objet, qui a la valeur null. Qui peut être:

générer une chaîne aléatoire java
  • Pour appeler une certaine méthode à partir d'un objet nul.
  • Pour accéder ou modifier le champ d’un objet nul.
  • En considérant la longueur de null, comme s'il s'agissait d'un tableau.
  • Lors de l'accès ou de la modification des emplacements d'un objet nul.
  • Lancer null comme une valeur jetable.
  • Tentative de synchronisation sur un objet nul.

Pourquoi avons-nous besoin de la valeur nulle?



Null est une valeur unique utilisée en Java. Null est utilisé pour montrer qu'aucune valeur n'est affectée à une variable de référence. L'application principale de null réside dans l'implémentation de structures de données telles que des listes liées et des arbres. Certaines autres applications incluent des modèles d'objet nul et des modèles de singleton. Un modèle singleton spécifie qu'une seule instance d'une classe peut être initiée et vise à fournir un point d'accès global à l'objet.

La meilleure et simple façon de créer au moins une instance d'une classe est de déclarer tous les constructeurs comme privés. Ensuite, ils créent une méthode publique qui renvoie l'instance unique de la classe.

// Pour utiliser la fonction randomUUID. import java.util.UUID import java.io. * class Singleton {// Ici, nous initialisons les valeurs de single et ID à null. private static Singleton single = null private String ID = null private Singleton () {/ * Rendez-le privé, afin d'empêcher la création de nouvelles instances de la classe Singleton. * / // Créer un ID ID aléatoire ID = UUID.randomUUID (). ToString ()} public static Singleton getInstance () {if (single == null) single = new Singleton () return single} public String getID () {return this.ID}} // Code du pilote classe publique TestSingleton {public static void main (String [] args) {Singleton s = Singleton.getInstance () System.out.println (s.getID ())}} //

Production:



null-pointer

L'exemple ci-dessus est une instance statique de la classe singleton. L'instance est initialisée au plus une fois dans la méthode Singleton get Instance.

javascript obtenir la taille du tableau

Comment éviter l'exception de pointeur nul en Java?

Afin d'éviter l'exception de pointeur nul en Java, nous devons nous assurer que tous les objets sont correctement initialisés avant de les utiliser. Lorsqu'une variable de référence est déclarée, nous devons vérifier qu'un objet n'est pas nul et également avant de demander des méthodes ou des champs à des objets. Voici quelques problèmes avec ses solutions correspondantes pour surmonter ce problème.

// programme pour démontrer l'appel d'une méthode // sur null provoque NullPointerException import java.io. * class GFG {public static void main (String [] args) {// Initialisation de la variable String avec une valeur nulle String ptr = null // Vérifier si ptr.equals null ou fonctionne correctement. try {// Cette ligne de code lève NullPointerException // car ptr est nul if (ptr.equals ('gfg')) System.out.print ('Same') else System.out.print ('Not Same')} catch (NullPointerException e) {System.out.print ('NullPointerException Caught')}}}

Production:

Contrôle des arguments d'une méthode

Rappelez-vous toujours qu'avant d'exécuter le corps d'une nouvelle méthode, nous devons nous assurer de ses arguments pour les valeurs nulles et continuer l'exécution de la méthode. Si et seulement quand les arguments sont correctement vérifiés. Sinon, il lancera une «IllegalArgumentException» et signalera à la méthode appelante que quelque chose ne va pas avec les arguments passés.

// programme pour vérifier si les paramètres sont nuls ou non avant de les // utiliser. import java.io. * class GFG {public static void main (String [] args) {// La chaîne définit une chaîne vide et appelle getLength () String s = '' try {System.out.println (getLength (s) )} catch (IllegalArgumentException e) {System.out.println ('IllegalArgumentException catch')} // La chaîne est définie sur une valeur et appelle getLength () s = 'GeeksforGeeks' try {System.out.println (getLength (s) )} catch (IllegalArgumentException e) {System.out.println ('IllegalArgumentException catch')} // Définition de s comme null et appel de getLength () s = null try {System.out.println (getLength (s))} catch ( IllegalArgumentException e) {System.out.println ('IllegalArgumentException catch')}} // Fonction pour renvoyer la longueur de la chaîne s. Il lève // ​​IllegalArgumentException si s est nul. public static int getLength (String s) {if (s == null) throw new IllegalArgumentException ('L'argument ne peut pas être nul') return s.length ()}}

Production:

qu'est-ce que la visualisation de données dans un tableau

Utilisation de l'opérateur ternaire

Un opérateur ternaire est utilisé pour éviter NullPointerException. L'expression booléenne est vérifiée et si l'expression est vraie, la valeur1 est renvoyée, sinon la valeur2 est renvoyée. L'opérateur ternaire pour la gestion des pointeurs nuls peut être utilisé: La bonne image est la sortie correspondante.

// Un programme Java pour démontrer que nous pouvons utiliser // l'opérateur ternaire pour éviter NullPointerException. import java.io. * class GFG {public static void main (String [] args) {// Initialisation de la variable String avec une valeur nulle String str = null String message = (str == null)? '': str.substring (0,5) System.out.println (message) str = 'Edureka_Java_Blog' message = (str == null)? '': str.substring (0,5) System.out.println (message)}}

Production:

Edurek

Avec cela, nous arrivons à la fin de Null Pointer Exception en Java. J'espère que vous avez une idée de Null Pointer Exception.

Vérifiez par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Le cours de formation et de certification Java J2EE et SOA d'Edureka est conçu pour les étudiants et les professionnels qui souhaitent devenir développeur Java. Le cours est conçu pour vous donner une longueur d'avance dans la programmation Java et vous former aux concepts Java de base et avancés ainsi qu'à divers frameworks Java tels que Hibernate & Spring.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de ce blog «Null Pointer Exception in Java» et nous vous répondrons dans les plus brefs délais.