Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1029 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Comparaison de chaine de caractères / Question à la con

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comparaison de chaine de caractères / Question à la con

n°1978681
_PakMan_
Posté le 29-03-2010 à 22:22:17  profilanswer
 

Voilà en bossant je me suis retrouvé nez à nez avec des tests genre:
 

Code :
  1. if( var == "value" )


 
pour tester la valeur d'une chaine de caractères (string)  :pfff:  :sweat:  
 
Or pour moi on doit toujours utiliser la méthode equals(), le == faisant une comparaison des références des objets.
Par curiosité (avant d'écraser le code trouvé sur le projet  :o ) j'ai fait le test suivant:
 
 

Code :
  1. String var = "test";
  2. System.out.println(var == "huhu" );
  3. System.out.println(var == "test" );


 
Qui me retourne "bien": false puis true.
Autrement dit ça a l'air de fonctionner quand une des opérandes est une chaine en dur constante  :sweat:  
 
Quelqu'un aurait une explication la dessus ?  [:littlebill]


---------------
"Tant qu'il y aura des hommes il y aura de comptoirs"
mood
Publicité
Posté le 29-03-2010 à 22:22:17  profilanswer
 

n°1978684
lasnoufle
La seule et unique!
Posté le 29-03-2010 à 22:31:30  profilanswer
 

Moi j'me méfierais à ta place:

 
Code :
  1. String var = "test";
  2. String var2 = new StringBuffer("test" ).toString();
  3. System.out.println(var=="test" );
  4. System.out.println(var2=="test" );
 
Code :
  1. true
  2. false
 

L'explication c'est que ca compare bien la référence comme tu dis. Dans le premier cas, c'est probablement la JVM qui gère sa tambouille et se retrouve à mettre la meme référence, à vue de nez pour des raisons d'optimisation j'dirais. Maintenant, tu peux pas etre sur que ca soit consistant entre JVMs, et puis bon dès que tes Strings viennent d'ailleurs voilà quoi...


Message édité par lasnoufle le 29-03-2010 à 22:31:58

---------------
C'était vraiment très intéressant.
n°1978690
_PakMan_
Posté le 29-03-2010 à 22:43:55  profilanswer
 

m'ouais possible  [:klemton]  
bon ben je vais faire de l'écrasement de code :o
les gens en entreprise c'est de la folie "ben si t'as vu ça marche" sans chercher à comprendre  [:di_canio]


---------------
"Tant qu'il y aura des hommes il y aura de comptoirs"
n°1978692
charly007
Posté le 29-03-2010 à 23:04:18  profilanswer
 
n°1978693
_PakMan_
Posté le 29-03-2010 à 23:07:19  profilanswer
 

D'accord, merci  [:implosion du tibia]


---------------
"Tant qu'il y aura des hommes il y aura de comptoirs"

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Comparaison de chaine de caractères / Question à la con

 

Sujets relatifs
Comptage des voyelles d'une suite de caracteres, plusieurs questions..chaine avec <br> qui ne passe pas par _GET
Comparaison entre 2 dates/algorithme PHPParser une chaine de caractere de longueur variable
comparaison de tabledecomposer une chaine de caractère[resolut]
La question la plus simple de la programmationComment afficher une chaine avec une taille de police plus grande
question sur les iterateursquestion sur les références
Plus de sujets relatifs à : Comparaison de chaine de caractères / Question à la con


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR