Partage
  • Partager sur Facebook
  • Partager sur Twitter

Pourquoi pas !V.isEmpty() ?

Sujet résolu
15 octobre 2018 à 1:20:07

Salut à tous ! Je suis actuellement le cours sur JAVA EE et j'en suis au chapitre des formulaires trouvable à cette adresse : https://openclassrooms.com/fr/courses/626954-creez-votre-application-web-avec-java-ee/621914-formulaires-le-b-a-ba

Et me viens une question, j’espère qu'elle ne vous piquera pas trop les yeux !

Dans sa création de methodes pour traiter les champs, et plus precisement verifier si il ne sont pas vide, le redacteur ecrit ceci:

 if ( email != null && email.trim().length() != 0 ) {
 
}

Naturellement en le faisant seul, j'aurais utilisé la méthode isEmpty() comme suit:

if ( !email.isEmpty()) {

}

Il y aurait il une objection a utiliser la deuxième méthode ? Si oui pourriez vous me donner avantage et inconvénient de chacune ?

Merci d'avance



  • Partager sur Facebook
  • Partager sur Twitter
15 octobre 2018 à 8:14:39

Salut,

Regarde ce que fait la methode isEmpty de la classe String :)

Elle ne verifie pas si la variable est null ou non, trim permet de supprimer tous les blancs au debut et à la fin de la variable

  • Partager sur Facebook
  • Partager sur Twitter
Un petit étudiant chinois perdu ^^'
15 octobre 2018 à 12:30:17

Salut à toi et merci pour ta réponse !

C'est bien ce que je ne comprend pas, en cherchant sur la doc je trouve que si la longueur = 0 isEmpty() renverra true finalement c'est bien ce qu'on cherche non ?

Si la variable = 0 elle est forcement nul ?

-
Edité par Romain44478965 15 octobre 2018 à 12:31:34

  • Partager sur Facebook
  • Partager sur Twitter
15 octobre 2018 à 13:12:07

Attention

Un String avec une taille de 0 n'est pas null;

String lString; // est null, si tu test sa taille ou avec isEmpty() -> NullPointerException

String lString2 = ""; // n'est pas null mais avec une taille de 0

String lString3 = "SALUT!!!" // n'est pas nulle et sa taille est différent de 0;
email.trim().length() != 0 
!email.trim().isEmpty()

c'est la meme chose

La raison pour laquelle tu utilise trim c'est au cas ou ton utilisateur ajoute un espace avant ou après avoir saisi son adresse mail



  • Partager sur Facebook
  • Partager sur Twitter
Un petit étudiant chinois perdu ^^'
15 octobre 2018 à 13:37:43

ok je vois !! Merci beaucoup pour vos reponses !
  • Partager sur Facebook
  • Partager sur Twitter
17 octobre 2018 à 19:31:06

Bonjour,

Comme dit ci-dessous, .isEmpty() ne vérifie que la présence de caractères : les espaces sont pris en compte.
Faire .trim().isEmpty() ne vérifie que les espaces "simples" : les espaces insécable sont pris en compte.

Cependant il existe 2 meilleurs solutions :

  • Partager sur Facebook
  • Partager sur Twitter
Angular 2 est l'avenir, jQuery c'est de la merde !!! - Java 8 c'est l'an 2016+ (programmez en 1 ligne)