Maison >Java >javaDidacticiel >Comment vérifier de manière fiable les chaînes non nulles et non vides en Java ?
Évaluation des chaînes non nulles et non vides
En programmation, garantir la validité des entrées de chaîne est crucial. Une tâche courante consiste à vérifier si une chaîne n'est ni nulle ni vide. Explorons différentes approches pour gérer ce scénario.
Considérant l'extrait de code fourni :
public void doStuff(String str) { if (str != null && str != "") { /* handle empty string */ } /* ... */ }
Bien que cela semble intuitif, cela introduit une erreur potentielle si str est nulle. En Java, comparer une chaîne à une chaîne vide à l’aide de == donne la valeur false si str est nulle. Cela peut conduire à une exception involontaire de pointeur nul lors de la vérification du vide de str.
Utilisation de la méthode isEmpty()
Une approche plus sûre implique d'utiliser la méthode isEmpty() de Java disponible depuis Java SE 1.6 :
if(str != null && !str.isEmpty())
Cette expression garantit que str n'est pas nulle et a au moins un caractère autre qu'un espace. À l'aide de l'opérateur &&, il court-circuite l'évaluation, évitant ainsi une exception de pointeur nul si str est nulle.
Considérer les espaces
S'il est nécessaire de vérifier les chaînes qui ne contiennent aucun caractère d'espacement, la méthode trim() peut être utilisée :
if(str != null && !str.trim().isEmpty())
Cette expression supprime les caractères d'espacement de début et de fin et puis vérifie le vide. Alternativement, Java 11 introduit la méthode isBlank(), qui accomplit la même fonctionnalité :
if(str != null && !str.isBlank())
Approche fonctionnelle concise
Pour une solution concise, une fonction utilitaire peut être défini :
public static boolean empty( final String s ) { // Null-safe, short-circuit evaluation. return s == null || s.trim().isEmpty(); }
Cette fonction peut être utilisée comme suit :
if( !empty( str ) )
En employant ces méthodes, les développeurs peuvent déterminer efficacement si une chaîne n'est pas nulle et contient des caractères autres que des espaces, améliorant ainsi la robustesse et la précision de leur code.
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!