equal () y equalsIgnoreCase () devuelven false para cadenas iguales
Estoy trabajando con eclipse IDE (Versión: 3.4.2) en una Mac y me he encontrado con el siguiente problema.
Al comparar entre cadenas utilizando los métodos equal () o equalsIgnoreCase (), recibo false incluso cuando las cadenas son iguales. Por ejemplo, el siguiente código considera la siguiente condición como falsa, incluso cuando los valores [0] = "debug_mode"
if (values[0].equalsIgnoreCase("debug_mode"))
debug_mode = true;
que es parte del siguiente ciclo:
String value = dis.readLine();
String values[] = value.trim().split("=");
if (values.length >= 2)
{
Config.prnt_dbg_msg(values[0] + "\t" + values[1]);
if (values[0].equalsIgnoreCase("debug_mode"))
debug_mode = isTrue(values[1]);
if (values[0].equalsIgnoreCase("debug_query_parsing"))
debug_query_parsing = isTrue(values[1]);
if (values[0].equalsIgnoreCase("username"))
Connection_Manager.alterAccessParameters(values[1], null, null);
if (values[0].equalsIgnoreCase("password"))
Connection_Manager.alterAccessParameters(null, values[1], null);
if (values[0].equalsIgnoreCase("database"))
Connection_Manager.alterAccessParameters(null, null, values[1]);
if (values[0].equalsIgnoreCase("allow_duplicate_entries"))
allow_duplicate_entries = isTrue(values[1]);
}
Traté de usarvalue[0].equal("debug_mode")
y obtuve el mismo resultado. ¿Alguien tiene alguna idea de por qué?