Problème Comparaison JPasswordField [Résolu]

Messages postés
10
Date d'inscription
dimanche 8 mai 2005
Dernière intervention
8 novembre 2011
- - Dernière réponse : Weedygamer
Messages postés
10
Date d'inscription
dimanche 8 mai 2005
Dernière intervention
8 novembre 2011
- 25 déc. 2006 à 19:15
Bonjour, j'ai un ptit problème au sujet des JPasswordField. En fait j'aimerai bien comparer 2 mot de passe venant de deux champs différents. Le problème c'est qu'avec un même mot de passe, le compilateur dit que les deux mot de passe sont différents.

        JPasswordField p1 =  new JPasswordField("meuh");
        JPasswordField p2 =  new JPasswordField("meuh");
        if(p1.getPassword().equals(p2.getPassword()))
            System.out.println("EGAL");
        else
            System.out.println("NOT EGAL")
;

A l'affichage, il écrit toujours : "NOT EGAL"

C'est assez embêtant merci pour les reponses
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
5307
Date d'inscription
dimanche 4 mai 2003
Dernière intervention
14 décembre 2018
3
Merci
Salut,











p1.getPassword().equals(p2.getPassword()) sur 2 tableau de char compare les adresse et non le contenu
la solution est de le transformer en string avant






PasswordField p1 =  new JPasswordField("meuh");
JPasswordField p2 =  new JPasswordField("meuh");
String s1 = new String(





p1.getPassword());






String s2 = new String(





p2.getPassword());







if(s1.equals(s2))
    System.out.println("EGAL");
else
    System.out.println("NOT EGAL")
;




------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 97 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Twinuts
Messages postés
845
Date d'inscription
mardi 25 avril 2006
Dernière intervention
1 août 2017
0
Merci
http://www.javafr.com/auteurdetail.aspx?ID=757549
 slt
esai peut etre avec
JPasswordField p1 =  new JPasswordField("meuh");
        JPasswordField p2 =  new JPasswordField("meuh");
        if((p1.getText()).equals(p2.getText()))
            System.out.println("EGAL");
        else
            System.out.println("NOT EGAL")
;

+
Commenter la réponse de didoux95
Messages postés
10
Date d'inscription
dimanche 8 mai 2005
Dernière intervention
8 novembre 2011
0
Merci
salut merci pour ta réponse

je suis d'accord avec getText() ça fonctionne mais au niveau sécurité  java a fait mieux vu que cette méthode est depricated. Il faut utiliser getPassword(). Le problème c'est que je n'arrive pas à comparer ces 2 password correctement.

merci
Commenter la réponse de Weedygamer
Messages postés
71
Date d'inscription
mercredi 14 avril 2004
Dernière intervention
14 septembre 2007
0
Merci
Bon quand ça va pas, on regarde comment sont faites les choses.

Soit tu lances, ton debuggeur et tu regardes l'état de l'objet JPasswordField, soit tu n'es pas à l'aise avec ce genre de chose et tu fais des bons vieux println pour voir ce que te retournes getPassword().

Un peu de débrouillardise que diable ! :P
Commenter la réponse de Bel0
Messages postés
10
Date d'inscription
dimanche 8 mai 2005
Dernière intervention
8 novembre 2011
0
Merci
Oui heum merci mais bon tout ça c'est déjà fait et refait getPassword() retourne un char[], ce tableau est une représentation possible de la chaine 'encodée' (il y plusieurs représentation). Donc c'est pour cela que lorsque je compare, pour un même mot de passe, deux instances différentes de JPasswordField, ça ne fonctionne pas car si il compare caractère par caractère ce sera faux.
Exemple:
"meuh" pour JPasswordField1 donne "[C@1ca318a"
"meuh" pour JPasswordField2 donne "[C@17a8913"

Voila je sais a peu près pourquoi ça ne marche pas, mais je ne sais pas comment arranger l'affaire.
Commenter la réponse de Weedygamer
Messages postés
10
Date d'inscription
dimanche 8 mai 2005
Dernière intervention
8 novembre 2011
0
Merci
yes bien joué !

merci beaucoup pour la réponse, je pensais pas qu'il fallait faire ça

encore merci et joyeux noël
Commenter la réponse de Weedygamer

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.