Maison > Java > javaDidacticiel > le corps du texte

Comment NullPointerException est-elle générée en Java ?

WBOY
Libérer: 2023-06-24 23:45:41
original
1504 Les gens l'ont consulté

Java est un langage fortement typé, qui nécessite que les variables soient explicitement initialisées avant utilisation. Si la variable n'est pas initialisée et n'a pas de valeur, ou si la variable fait référence à un objet nul, une NullPointerException sera levée au moment de l'exécution. Ce type d'exception se produit souvent dans les programmes Java, nous devons donc bien comprendre comment elle est générée et comment l'éviter.

En Java, NullPointerException est généralement provoquée par les situations suivantes :

  1. L'objet n'a pas été initialisé ou a été détruit
    Lorsque le programme en essayant d'accéder à un objet qui n'a pas été initialisé ou qui a été détruit, la machine virtuelle Java lèvera une exception NullPointerException. Par exemple :
String str;
System.out.println(str.length());
Copier après la connexion

Dans cet exemple, la variable str n'a pas été initialisée et affectée de valeur, donc une NullPointerException sera levée lors de l'accès à sa méthode length().

  1. fait référence à un objet vide
    En Java, n'importe quel objet peut être défini sur null. Si le programme tente d'accéder à une propriété ou à une méthode d'un objet nul, une NullPointerException sera levée. Par exemple :
String str = null;
System.out.println(str.length());
Copier après la connexion

Dans cet exemple, la variable str se voit attribuer une valeur null, donc une NullPointerException sera levée lors de l'accès à sa méthode length().

  1. Accès au tableau hors limites
    Si le programme tente d'accéder à un indice inexistant d'un tableau, une exception ArrayIndexOutOfBoundsException sera levée. Par exemple :
int[] arr = new int[3];
System.out.println(arr[3]);
Copier après la connexion

Dans cet exemple, le tableau arr ne comporte que 3 éléments et l'exception ArrayIndexOutOfBoundsException sera levée lorsque le programme tentera d'accéder au 4ème élément. Si ce tableau est un tableau d'objets, une NullPointerException peut se produire lors de l'accès aux propriétés ou méthodes des objets du tableau.

Comment éviter NullPointerException ?

La meilleure façon d'éviter NullPointerException est d'initialiser et d'attribuer explicitement des variables avant de les utiliser, et d'éviter de référencer des objets nuls dans le programme. Ceci peut être réalisé en utilisant une instruction if ou la classe facultative dans Java 8 :

String str = null;
if(str != null) {
    System.out.println(str.length());
}

String str2 = Optional.ofNullable(str).orElse("");
System.out.println(str2.length());
Copier après la connexion

Dans cet exemple, l'instruction if est utilisée pour déterminer si str est un objet nul et la classe facultative est utilisée pour éviter de référencer l'objet nul.

En bref, NullPointerException est l'une des exceptions les plus courantes dans le développement Java. Cela se produit généralement lorsque l'objet n'est pas initialisé ou fait référence à un objet nul. Afin d'éviter cette exception, nous devons initialiser la variable avant utilisation et éviter de référencer des objets vides dans le programme.

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!