Java - getPassword uso incorrecto ??

   
Vista:

getPassword uso incorrecto ??

Publicado por Ricardo Garcia (7 intervenciones) el 14/03/2008 17:01:25
Hola quisiera que me ayuden porfavor.
Creo que estoy utilizando mal el getPassword() estoy haciendo llenar un formulario y en la comprobacion de contrase├▒a(repetir contrase├▒a) estoy comparando los campos y siempre me salen diferentes:

Utilizo NetBeans 5.5, utilizo dos JPasswordField para que introduzcan sus contrase├▒as, en el codigo saco de esta manera sus valores.

String Pwd1 = new String (pass1.getPassword());
String Pwd2 = new String (pass2.getPassword());

luego hago la pregunta

if (Pwd1==Pw2){
// Codigo por si funciona
}
else
{
//Codigo por si no funciona//
}
El asunto es que jamas es verdaera la comparacoin( colocando los mismos valores), incluso imprimo las variables Pwd1 y Pwd2 por si acaso fuera que salen distorcionadas pero me salen aparentemente iguales, pero jamas coinciden en el IF. En cambio al else si entra, osea pareceria que son totalmente distintas. Porfavor si tienen alguna idea de que pueda ser les agradezco su respuesta Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:getPassword uso incorrecto ??

Publicado por Sebastian Manzano (3 intervenciones) el 14/03/2008 19:33:22
Hola,

La verdad que la comparacion con los string en java es usando equals, EJ.:

if (Pwd1.equals(Pw2)){
//Codigo por si funciona
}else{
//Codigo por si no funciona
}

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:getPassword uso incorrecto ??

Publicado por ideasjava (83 intervenciones) el 15/03/2008 16:18:45
Hola fijate en este codigo

Para comparar el contenido de dos JPasswordField se puede hacer lo siguiente

private boolean isPasswordCorrect(char[] j1,char[] j2) {
boolean valor = true;
int puntero = 0;
if (j1.length != j2.length){
valor = false;
}
else{
while((valor)&&(puntero < j1.length)){
if (j1[puntero] != j2[puntero]){
valor = false;
}
puntero++;
}
}
return valor;
}

El codigo que llama a este m├ętodo es

if(this.isPasswordCorrect(jp1.getPassword(),jp3.getPassword())){
System.out.println("SON IGUALES");
}
else{
System.out.println("NO SON IGUALES");
}
Cualquier duda consulta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar