Pouvons-nous compter sur Ssortingng.isEmpty pour vérifier une condition nulle sur une chaîne en Java?

Je passe un compte-rendu en entrée d’un fichier XML tel qu’illustré, qui sera analysé plus tard et sera utilisé dans notre code:

123456 pavan 

Le problème est que si rien n’est passé (la valeur null dans accoutnid) est passée en tant que accountid, je ne pourrais pas gérer cette situation en code Java. J’ai essayé ceci mais je n’ai pas réussi:

 if (acct != null||acct==""||acct.equals("")) { // the above is not working } 

J’ai pu gérer cela avec succès en utilisant l’approche suivante:

 if(!acct.isEmpty()) { // thisis working } 

Peut-on compter sur la méthode Ssortingng.isEmpty() pour vérifier la condition NULL d’une Ssortingng ? Est-ce que c’est valide?

Non, absolument pas – parce que si acct est nul, il n’arrivera même pas à isEmpty … il lancera immédiatement une NullPointerException .

Votre test devrait être:

 if (acct != null && !acct.isEmpty()) 

Notez l’utilisation de && ici, plutôt que votre || dans le code précédent; notez également comment dans votre code précédent, vos conditions étaient erronées de toute façon – même avec && vous auriez seulement saisi le corps if si acct était une chaîne vide.

Alternativement, en utilisant Guava :

 if (!Ssortingngs.isNullOrEmpty(acct))