Déterminer si une chaîne n'est pas nulle et non vide est une exigence courante en programmation. Explorons un exemple Java et sa solution correspondante.
Considérez l'extrait de code ci-dessous :
public void doStuff(String str) { if (str != null && str != "") { // handle empty string } }
Ici, nous voulons vérifier si la chaîne str est vide. Cependant, l'approche utilisant une simple comparaison égale est sujette à des exceptions potentielles de pointeur nul.
Pour améliorer ce code, nous pouvons utiliser la méthode isEmpty(), qui est disponible depuis Java SE 1.6. Cette méthode renvoie vrai si la chaîne est nulle ou a une longueur de 0, fournissant un moyen fiable et sécurisé pour vérifier le vide.
if (str != null && !str.isEmpty()) { // handle empty string }
Notez l'ordre des conditions à l'aide de l'opérateur &&. En plaçant la vérification nulle en premier, nous évitons l'erreur d'exécution potentielle si str est nulle.
Si nous voulons ignorer les caractères d'espacement, nous pouvons utiliser une combinaison de trim() et isEmpty():
if (str != null && !str.trim().isEmpty()) { // handle empty string }
Alternativement, dans Java 11 et versions ultérieures, nous pouvons utiliser la méthode isBlank(), qui simplifie les espaces manipulation :
if (str != null && !str.isBlank()) { // handle empty string }
Pour rendre le code plus concis et réutilisable, nous pouvons créer une fonction utilitaire :
public static boolean empty(String s) { return s == null || s.trim().isEmpty(); }
Cette fonction renvoie vrai si la chaîne est nulle ou vide après le découpage, sinon elle renvoie false. Désormais, nous pouvons simplement utiliser :
if (!empty(str)) { // handle empty string }
En utilisant ces méthodes, nous pouvons garantir que notre code gère de manière robuste les chaînes nulles et vérifie correctement les vides, empêchant ainsi les exceptions potentielles et garantissant un traitement fiable des chaînes.
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!