Problemas con texto

Said
07 de Abril del 2006
Hola, tiene poco que me inicie en J2ME y ya entro en problemas, en realidad mi pregunta es muy sencilla, creo.

El problema que tengo es que intento que el usuario introdusca un texto por medio de un TextField y luego necesito comoparar ese texto con otro para ver si son iguales. Es decir quiero que el usuario introdusca un texto de tipo any o password y necesito compararlo con una variable de tipo texto, pero no me deja, supongamos que quiero que el usuario introduzca la palabra篓\\\"Said\\\" en el textfield (variable llamada nombre), supongamos que si lo hace, luego en un if intento comparar nombre.getString()=\\\"Said\\\" pero aunque nombre.getString() si tiene la cadena \\\"Said\\\", no consigo que de un true siempre me da false es decir nunca son iguales, la pregunta es PORQUE?


Gracias..

andres
07 de Abril del 2006
a ver pon tu codigo....

Said
07 de Abril del 2006
Todo mi codigo corre bien, exepto esta parte que es de la cual hablo:

nombre.getString() == "Said"

nombre es un textField, esta bien declarado el error que me pone en esa comparacion es el de que no son compatibles y obvio si pongo:

nombre == "Said"

Mucho menos lo hace.

Uso esa comparacion en un if, bueno ya encontre la solucion, debia poner:

nombre.getString.equals("Said") devolviendo un true si la conparacion de nombre.getString() y el texto "Said" son iguales. PERO AHORA MI DUDA ES PORQUE EL PRIMER CODIGO NO FUNCIONA, SI SE SUPONE QUE GETsTRING() DEVUELVE UNA CADENA.

Porque no los puedo comparar de ese modo?



GRACIAS.

JulianLaPlata
07 de Abril del 2006
Puff esos errores q no se sabe porq pasan son terribles quebraderos de cabeza. Sera que no pusiste la condicion entre parentesis?
saludos.

Said
07 de Abril del 2006
No, todo esta bien, incluso la condicion esta bien, no me marca ningun error, el problema es simplemente que no hace la comparacion como textos. Pareciera que nombre.getString() lo tomara como otra cosa.

jOs?
07 de Abril del 2006
Me parece que en realidad lo que deverias de hacer es declarar la variable nombre1 y unicamente asignarle un valor (ej. \"said\") posteriormente recuperar del textfield el texto introducido con por ejemplo nombre.getText() y posteriormente hacer la comparacion

elminotopo
07 de Abril del 2006
A ver si esto te ayuda...
La clase String es un objeto y no un tipo normal de datos como el int.
Cuando comparas comparas un objeto contra un texto por eso te da false
Tenes que comparar String con algun metodo que implementa este objeto.
Podes usar TuObjetoString.compareTo(String) o TuObjetoString.equals(Objeto), aca el objeto tiene que ser un objeto string, puede ser pasreando el texto q tengas... (String)texto.
Espero te haya servido

elminotopo
07 de Abril del 2006
A ver si esto te ayuda...
La clase String es un objeto y no un tipo normal de datos como el int.
Estas comparando un objeto contra un texto por eso te da false
Tenes que comparar String con algun metodo que implementa este objeto.
Podes usar TuObjetoString.compareTo(String) o TuObjetoString.equals(Objeto), aca el objeto tiene que ser un objeto string, puede ser pasreando el texto q tengas... (String)texto.
Espero te haya servido

Esmitt
07 de Abril del 2006
Hola Said, intenta hacer:
String nombre = textField.getString();
if(nombre.equals("Said"))
{
// colocas el c贸digo aqu铆
}

Espero que te sirva