Gwt (Java) – Comparar cadenas

agosto 19, 2011

En un proyecto de GWT tenía que comparar 2 cadenas para determinar que módulo debía lanzar. Inocentemente -y debido a mi experiencia con C#- quise hacerlo de la siguiente forma:
Module module=null;
if(e.getPath()==”Aplicaciones/Estadistica/Captura”){
        module=new Captura();
}
if(module!=null){
        openModule(module);
}
donde, e.getPath() me dice el módulo seleccionado. Pues nunca se abría el módulo, incluso depuré el código línea por línea y al inspeccionar las variables veía que tenían el mismo valor. Y efectivamente ese es el detalle, el operador “==” no compara el valor sino la referencia (apuntador), y como en este caso son dos instancias diferentes de cadenas pues nunca entraba en la condición. La solución es simple, hay que utilizar el método “equals()” de la siguiente forma:
if(e.getPath().equals(“Aplicaciones/Estadistica/Captura”)){
        module=new Captura();
}

Referencias:
http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: