Hola a todos, parece rídiculo, pero no soy capaz de comparar 2 strings :(
Tengo esta función:
public String getCamposTabla(String NombreTabla){
String xml ="";
String NTabla="";
int i = 0;
int tam = VTablas.size();
for ( i = 0; i < VTablas.size (); i++) {
TablaBean TablaB = (TablaBean) VTablas.get(i);
NTabla = TablaB.getNombreTabla();
if (NTabla == NombreTabla.trim()) // ESTA COMPARACIÓN FALLA !!
{
xml = TablaB.getListadoTabla();
}
}
return xml;
}
Pues bien, con Netbeans y en modo de "depuración" veo como llego hasta el if, los dos strings son iguales y ...... no entra, es inaudito.
He probado con otras comparaciones y no soy capaz.
No sé mucho de java, casi nada, pero creo que es algo muy sencillo y seguro que estoy pasando algo por alto.
A ver si me podeís ayudar, un saludo y gracias de antemano.
Pd: Estas son mis pruebas:
NO FUNCIONA:
============
if (NTabla.equalsIgnoreCase(NombreTabla))
{
xml = TablaB.getListadoTabla();
}
if (NTabla.compareTo(NombreTabla) == 0)
{
xml = TablaB.getListadoTabla();
}
if ( NTabla.indexOf(NombreTabla) > 0 )
{
xml = TablaB.getListadoTabla();
}
if (NTabla.matches(NombreTabla))
{
xml = TablaB.getListadoTabla();
}