如果不满足条件?

时间:2012-03-03 17:50:25

标签: java android arrays string character

我想逐个字符地读取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
  }
}

没有显示Toast。为什么?有什么想法吗?

2 个答案:

答案 0 :(得分:4)

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

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

改变这个:

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

到此:

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

另请注意,my_array[1]是第二个元素,而不是第一个元素,因此您可能希望从i = 0开始而不是i = 1

答案 1 :(得分:0)

将for循环更改为从i循环0至小于ss.length()