Android Eclipse Java将数组内容与字符串进行比较。不工作?

时间:2011-10-22 12:43:30

标签: java string compare

嗨我有一个存储阵列的数组,当我选中单选按钮时,当我再次加载收音机设置时,我可以将相应的设置为已选中。

我的数组是这样的:

   |0          |1         |2
----------------------------------
0  |Option1    |data      |false
----------------------------------
1  |Option2    |data      |true
----------------------------------
2  |Option3    |data      |false
----------------------------------
3  |Option4    |data      |false

等...

现在我感兴趣的索引是真/假的索引,因为它告诉我是否应该检查该单选按钮。

我将数据库中的这些值读入数组。这一切都正常,数据正确地在数组中。

由于某些原因,当我进行比较时,它与我能看到的正确无法匹配。

这就是我在循环中所做的......

String checked = myarray[i][2];

// This correctly outputs 'false', 'true', 'false' and 'false' as per the array above.            
Toast.makeText(DatabaseTestActivity.this, checked, Toast.LENGTH_LONG).show();

// Now when it gets here it fails to trigger the match for 'true'.
if (checked == "true") {
     active = i;
     Toast.makeText(DatabaseTestActivity.this, "Found Check", Toast.LENGTH_LONG).show();
}

对我做错了什么的任何想法?它只是一个简单的字符串比较,或者我认为??

2 个答案:

答案 0 :(得分:2)

使用String.equals()来比较字符串。

if (checked.equals("true")) {

}

答案 1 :(得分:1)

您应该使用String#equalsString#equalsIgnoreCase进行比较:

checked.equals( "true" )

==比较引用,而equals比较字符串的内容。