Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

test d'une string vide

13 réponses
Avatar
yvon.thoravalNO
j'ai besoin de tester une string, savoir si elle est vide ou non.

j'ai essayé :
if ((url == null) || (url == "") || (url == " "))

tout se passe comme si url était ni "null", "", " "...

alors que lorsque je fais un out.println de cette chaine de caractères :

out.println("|" + url + "|");

j'obtiens bien "||" quand l'url est vide...

pour info j'obtiens cette string après un :
url = rs.getString("address_url");

(lecture d'une base MySQL)


mon petit bout de code :

if ((url == null) || (url == "") || (url == " "))
out.println("<td width='2%'>&nbsp;</td>");
else
out.println("<td width='2%'><a href='" + url + "'><img
src='img/world.gif' /></a></td>");

--
Yvon Thoraval

10 réponses

1 2
Avatar
yvon.thoravalNO
Yvon Thoraval wrote:

j'ai essayé :
if ((url == null) || (url == "") || (url == " "))


j'ai trouvé, fô fer' :

if ((url == null) || url.equals("") || url.equals(" "))

y-a-t'il une méthode qui permette de supprimer faire un "trimspace en
java" ?

càd supprimer les spaces au début et à la fin d'une string ?

--
Yvon Thoraval

Avatar
benoit
url va toujours etre !Þ "" et de " " et c normal
on a pas de surcharge d'operateur en java et le = (pour les objets) compare la reference donc il faudrait faire
if( url==null ||url.equals("") || url.equals(" "))

ou encore url == null || url.trim().equals("")

benoit

Yvon Thoraval wrote:
j'ai besoin de tester une string, savoir si elle est vide ou non.

j'ai essayé :
if ((url == null) || (url == "") || (url == " "))

tout se passe comme si url était ni "null", "", " "...

alors que lorsque je fais un out.println de cette chaine de caractères :

out.println("|" + url + "|");

j'obtiens bien "||" quand l'url est vide...

pour info j'obtiens cette string après un :
url = rs.getString("address_url");

(lecture d'une base MySQL)


mon petit bout de code :

if ((url == null) || (url == "") || (url == " "))
out.println("<td width='2%'>&nbsp;</td>");
else
out.println("<td width='2%'><a href='" + url + "'><img
src='img/world.gif' /></a></td>");



Avatar
Vincent Brabant
j'ai besoin de tester une string, savoir si elle est vide ou non.

j'ai essayé :
if ((url == null) || (url == "") || (url == " "))

tout se passe comme si url était ni "null", "", " "...

alors que lorsque je fais un out.println de cette chaine de caractères :

out.println("|" + url + "|");

j'obtiens bien "||" quand l'url est vide...

pour info j'obtiens cette string après un :
url = rs.getString("address_url");


Et cela renvoye toujours une nouvelle instance de String. même si la chaine de caractères est exactement la même, l'objet lui est différent et donc == est faux.


(lecture d'une base MySQL)


mon petit bout de code :

if ((url == null) || (url == "") || (url == " "))
out.println("<td width='2%'>&nbsp;</td>");
else
out.println("<td width='2%'><a href='" + url + "'><img
src='img/world.gif' /></a></td>");

Les Strings étant des objets, il vaut mieux utiliser .equals, si ton but est de vérifier qu'ils ont la même chaine de caractères.


String a1 = "a";
String a2 = "a";
String a3 = new String("a");
a1=¢ retournera TRUE
a1=£ retournera FALSE
a1.equals(a2) et a1.equals(a3) retourneront tous les deux TRUE

Et pour eviter de tester si c'est "", ou " " ou " ", utilise trim() qui enleve les blancs au début et fin s'il y en a.
tu devrais donc avoir
if ((url == null) //la c'est obligatoire d'utiliser ==
|| (url.trim()equals("") )

Bien à toi.
--
Vincent Brabant
----------------
http://www.netbeans.org/index_fr.html
http://vbrabant-fr.skynetblogs.be

Avatar
yvon.thoravalNO
benoit wrote:

if( url==null ||url.equals("") || url.equals(" "))

ou encore url == null || url.trim().equals("")

benoit


ouais, merci beaucoup, j'avais trouvé le *.equals("") mais pas encore le
*.trim()...

je suppose que je peux faire
url = url.trim(); ?
--
Yvon Thoraval

Avatar
yvon.thoravalNO
Vincent Brabant wrote:

Et pour eviter de tester si c'est "", ou " " ou " ", utilise trim()
qui enleve les blancs au début et fin s'il y en a. tu devrais donc avoir
if ((url == null) //la c'est obligatoire d'utiliser == ||
(url.trim()equals("") )


ok, pigé, merci pour tout °;=) -- Yvon Thoraval

Avatar
benoit
Yvon Thoraval wrote:

benoit wrote:


if( url==null ||url.equals("") || url.equals(" "))

ou encore url == null || url.trim().equals("")

benoit



ouais, merci beaucoup, j'avais trouvé le *.equals("") mais pas encore le
*.trim()...

je suppose que je peux faire >
url = url.trim(); ?


yep
tu peut meme utilisé l'objet URL si ca te chante :)


Avatar
Ulrich Vachon
Salut,

Le seul moyen efficace est de faire un trim() puis un equalsIgnoreCase("").

Ex. :
- 1 String str = "C est bien le Java, miam !" ;
- 2 if(str.trim().equalsIgnoreCase("")) {
//Elle est vide !
}

Voir ce que fait trim() ->
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html#trim()
Voir ce que rend equalsIgnoreCase() ->
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html#equalsIgnoreCa
se(java.lang.String)

Tout comprendre pour bien programmer ->
http://java.sun.com/j2se/1.4.2/docs/api/index.html

Bon code,
Ulrich.




"Yvon Thoraval" a écrit dans le message de
news: 1g5jipb.mjdvbo12xan0gN%
j'ai besoin de tester une string, savoir si elle est vide ou non.

j'ai essayé :
if ((url == null) || (url == "") || (url == " "))

tout se passe comme si url était ni "null", "", " "...

alors que lorsque je fais un out.println de cette chaine de caractères :

out.println("|" + url + "|");

j'obtiens bien "||" quand l'url est vide...

pour info j'obtiens cette string après un :
url = rs.getString("address_url");

(lecture d'une base MySQL)


mon petit bout de code :

if ((url == null) || (url == "") || (url == " "))
out.println("<td width='2%'>&nbsp;</td>");
else
out.println("<td width='2%'><a href='" + url + "'><img
src='img/world.gif' /></a></td>");

--
Yvon Thoraval


Avatar
yvon.thoravalNO
Ulrich Vachon wrote:

Le seul moyen efficace est de faire un trim() puis un equalsIgnoreCase("").

Ex. :
- 1 String str = "C est bien le Java, miam !" ;
- 2 if(str.trim().equalsIgnoreCase("")) {
//Elle est vide !
}


est-ce bien utile de comparer la casse d'une comparaison sur une chaine
vide ???

m'enfin, ça pourra m'être utile dans d'autres cas.

Voir ce que fait trim() ->
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html#trim()
Voir ce que rend equalsIgnoreCase() ->
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html#equalsIgnoreCa
se(java.lang.String)

Tout comprendre pour bien programmer ->
http://java.sun.com/j2se/1.4.2/docs/api/index.html


merci pour les adresses !
--
Yvon Thoraval

Avatar
Ulrich Vachon
Prend l'exemple dans sa globalité.
Bon code,

Ulrich.


"Yvon Thoraval" a écrit dans le message de
news: 1g5lbz3.1lhw9ja46o4u8N%
Ulrich Vachon wrote:

Le seul moyen efficace est de faire un trim() puis un
equalsIgnoreCase("").



Ex. :
- 1 String str = "C est bien le Java, miam !" ;
- 2 if(str.trim().equalsIgnoreCase("")) {
//Elle est vide !
}


est-ce bien utile de comparer la casse d'une comparaison sur une chaine
vide ???

m'enfin, ça pourra m'être utile dans d'autres cas.

Voir ce que fait trim() ->
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html#trim()
Voir ce que rend equalsIgnoreCase() ->

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html#equalsIgnoreCa


se(java.lang.String)

Tout comprendre pour bien programmer ->
http://java.sun.com/j2se/1.4.2/docs/api/index.html


merci pour les adresses !
--
Yvon Thoraval



Avatar
Lionel
Ulrich Vachon wrote:
Salut,

Le seul moyen efficace est de faire un trim() puis un
equalsIgnoreCase("").


perso je ferais plutot:
url.trim().length() ==0

1 2