描述
endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置。
endswith()方法在String下的代码
public boolean endsWith(String suffix) {
return startsWith(suffix, value.length - suffix.value.length);
}
/*
测试此字符串的以指定索引开头的子字符串是否以指定前缀开头。
参数:
prefix–前缀。
toffset–开始查找字符串的位置。
退货:
如果参数表示的字符序列是该对象的子字符串的前缀,则为true,该前缀从索引toffset开始;否则为false。如果toffset为负值或大于此String对象的长度,则结果为false;否则,结果与表达式的结果相同
this.substring(toffset).startsWith(前缀)
*/
public boolean startsWith(String prefix, int toffset) {
char ta[] = value;
int to = toffset;
char pa[] = prefix.value;
int po = 0;
int pc = prefix.value.length;
// Note: toffset might be near -1>>>1.
if ((toffset < 0) || (toffset > value.length - pc)) {
return false;
}
while (--pc >= 0) {
if (ta[to++] != pa[po++]) {
return false;
}
}
return true;
}
其中value是原来给定的String 类型的字符,然后要比较的字符转换成Char类型,然后依次找到对应的字符是否相同