Maison > Java > javaDidacticiel > le corps du texte

Comment gérer NullPointerException en Java ?

王林
Libérer: 2023-06-24 19:53:37
original
2695 Les gens l'ont consulté

Java est un langage de programmation très populaire, mais lors du processus d'écriture de code, nous rencontrons souvent diverses situations anormales. Parmi eux, NullPointerException est également relativement courante. Cet article présentera les causes et les méthodes de gestion de NullPointerException.

1. Causes de NullPointerException

NullPointerException est l'une des exceptions les plus courantes en Java. Cela se produit généralement lors de l'utilisation d'une référence nulle, c'est-à-dire lorsque le programme tente d'accéder à un objet vide. Par exemple, lorsque nous définissons une variable de référence mais ne l'initialisons pas, la valeur de la variable de référence sera automatiquement affectée à null. Mais si nous essayons d'appeler une méthode ou une propriété de l'objet pointé par cette variable de référence, une NullPointerException se produira dans le programme.

2. Gestion de NullPointerException

Étant donné que l'occurrence de NullPointerException est causée par l'appel d'une méthode ou d'une propriété sur une variable de référence nulle, nous devons faire de bons jugements sur les références nulles pendant le processus d'écriture de code pour éviter NullPointerException.

Voici quelques méthodes de gestion des exceptions NullPointerException couramment utilisées :

1. Utiliser le jugement conditionnel

Nous pouvons utiliser des instructions de jugement conditionnel pour déterminer si une variable est vide afin d'éviter les exceptions NullPointerException. Par exemple :

if (str != null) {
   System.out.println(str.length());
}
Copier après la connexion

Dans cet exemple, nous déterminons d'abord si str est vide, et sinon, appelons la méthode length() de str.

2. Utilisez l'instruction try-catch

Une autre façon de gérer NullPointerException consiste à utiliser l'instruction try-catch pour intercepter l'exception. Par exemple :

try {
   System.out.println(str.length());
} catch (NullPointerException e) {
   System.out.println("字符串为空!");
}
Copier après la connexion

Dans cet exemple, si str est vide, le programme lancera une NullPointerException et sera intercepté par l'instruction catch, puis affichera un message d'invite.

3. Utilisez la méthode Objects.requireNonNull()

Java 7 introduit une nouvelle classe d'outils Objects, qui a une méthode très pratique Objects.requireNonNull(). Cette méthode peut être utilisée pour vérifier la validité des paramètres. Si les paramètres sont vides, une NullPointerException sera levée.

Par exemple :

String str = null;
Objects.requireNonNull(str, "字符串不能为空!");

System.out.println(str.length());
Copier après la connexion

Dans cet exemple, si str est vide, le programme lancera une NullPointerException et affichera un message d'invite.

En résumé, nous devons accorder une attention particulière à la gestion des variables de référence nulles lors de l'écriture du code pour éviter les exceptions NullPointerException. L'utilisation du jugement conditionnel, de l'instruction try-catch ou de la méthode Objects.requireNonNull() sont des méthodes de traitement relativement courantes. Lorsque le programme rencontre une exception NullPointerException, nous devons analyser soigneusement la cause de l'exception, puis prendre les mesures appropriées pour la gérer.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!