Problemas con texto
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..
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..
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.
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.
Puff esos errores q no se sabe porq pasan son terribles quebraderos de cabeza. Sera que no pusiste la condicion entre parentesis?
saludos.
saludos.
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.
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
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
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
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
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
