将第三个参数ooffset更改成3,一个"en"都找不到了。这第三个参数偏移量,到底是说什么呢?public class Example5_3
{
public static void main(String args[])
{
int number = 0;
String s = "student;entropy;engage,english,client";
for (int k=0; k<s.length(); k++)
{
if (s.regionMatches(k, "en", 0, 2)) //第三个参数ooffset更改成3,nubmer输出0了。
{
number++;
}
}
System.out.println("number = " + number);
}
}

解决方案 »

  1.   

    regionMatches(int toffset,String other,int ooffset,int len); 上述两个方法用来比较两个字符串中指定区域的子串。入口参数中,用toffset和ooffset分别指出当前字符串中的子串起始位置和要与之比较的字符串中的子串起始地址;len 指出比较长度。前一种方法可区分大写字母和小写字母,如果在 boolean ignoreCase处写 true,表示将不区分大小写,写false则表示将区分大小写。而后一个方法认为大小写字母有区别。由此可见,实际上前一个方法隐含了后一个方法的功能。