2012-03-03 113 views
-1

我想读一个String字符,它已经在一个数组中。如果条件不符合?

String ss = "makassar"; 
String my_array[] = ss.split(""); 
for (int i = 1; i < ss.length()+1; i++) { 
    if (my_array[i]=="m") { 
    Toast toast = Toast.makeText(this, "Array is M", Toast.LENGTH_SHORT); 
    toast.setGravity(Gravity.CENTER, 0, 0); 
    toast.show(); 
    // Toast not show 
    } 
} 

吐司没有得到显示。为什么?任何想法?

+4

另外,您可能想重新考虑您的大括号策略。 – summea 2012-03-03 17:52:10

+0

@summea我看起来有很多不同的方法来做大括号,但没有那样不可读的。 – 2012-03-03 17:54:19

+0

@summea - 仅仅因为他碰巧喜欢Horstmann风格并不会让它错误。 – 2012-03-03 17:54:44

回答

4

您应该使用equals()而不是operator==来比较字符串。

operator==检查对象的身份 [如果左和右是同一对象],而equals()检查平等 [如果2串彼此相等。

更改此:

if (my_array[i]=="m") 

这样:

if ("m".equals(my_array[i])) 

另外,还要注意my_array[1]是第二个元素,而不是第一,所以你可能想从i = 0而不是i = 1启动

+0

哇..非常感谢人..哦,亚阵,开始索引= 0; 对不起,因为我是新手.. – 2012-03-03 18:11:36

0

将for循环更改为循环i0更改为小于ss.length()

相关问题