我想逐个字符地读取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。为什么?有什么想法吗?
答案 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()
。