Je le teste généralement en même temps qu'un string == null
Je ne suis donc pas vraiment préoccupé par un test de sécurité nul. Lequel dois-je utiliser ?
String s = /* whatever */;
...
if (s == null || "".equals(s))
{
// handle some edge case here
}
o
if (s == null || s.isEmpty())
{
// handle some edge case here
}
Sur cette note - est-ce que isEmpty()
même faire autre chose que return this.equals("");
o return this.length() == 0;
?
27 votes
Gardez à l'esprit que
isEmpty()
est uniquement Java 6+.1 votes
Vous pourriez créer une méthode d'aide Util.String.hasValue(String s) qui vérifie les nullités, les vides et les espaces pour gérer tous les cas.
5 votes
@ColinD Probablement pas un problème - J2SE 5.0 a terminé sa période de fin de vie il y a quelque temps.
1 votes
Une autre chose à prendre en compte est que "".equals() prend un objet comme argument, donc vous n'obtiendrez pas d'erreur de compilation si le type d'argument change de String à autre chose, pour le meilleur ou pour le pire.