我正在使用Eclipse上的eclipse IDE(版本:3.4.2),並遇到以下問題。equal()和equalsIgnoreCase()爲相等的字符串返回false
當使用equal()或equalsIgnoreCase()方法比較字符串時,即使字符串相等,我也會收到false。例如,下面的代碼考慮以下條件爲假,即使當值[0] =「DEBUG_MODE」
if (values[0].equalsIgnoreCase("debug_mode"))
debug_mode = true;
其是下面的循環的一部分:
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]);
}
我試圖使用value[0].equal("debug_mode")
並得到了同樣的結果。 有人知道爲什麼嗎?
什麼是值的實際值[0] – Bozho 2010-11-18 01:06:37
您確定110%確定'values [0]'包含值爲「debug_mode」的字符串嗎?將其打印到控制檯以確保。 – 2010-11-18 01:06:56
如果條件是否可以在此之前打印值[0]? – 2010-11-18 01:08:02