共同学习Java源码--常用数据类型--String(八)
来源:互联网 发布:数据库工程师考试 编辑:程序博客网 时间:2024/05/21 19:29
int len) {
char ta[] = value;
int to = toffset;
char pa[] = other.value;
int po = ooffset;
// Note: toffset, ooffset, or len might be near -1>>>1.
if ((ooffset < 0) || (toffset < 0)
|| (toffset > (long)value.length - len)
|| (ooffset > (long)other.value.length - len)) {
return false;
}
while (len-- > 0) {
if (ta[to++] != pa[po++]) {
return false;
}
}
return true;
}
这个方法的重载方法在第六篇里进行了说明。不一样的地方就是缺少了个布尔值参数,不再对大小写是否敏感进行判断,这个方法就是判断字符串中的某一部分字符是否相等,而且大小写完全敏感。
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;
}
这个方法很重要而且很常用,是判断某个字符串是否以另外一个字符串为开头。这个方法有两个参数,第一个是要判断的前缀字符串,第二个是本字符串的开始下标。
首先判断本字符串的开始下标是否小于0以及本字符串开始下标是否大于两个字符串的长度之差,如果判断失败则直接返回false。
然后进入循环,从本字符串的起始下标开始,判断本字符串和参数字符串每一个元素是否相等,如果有一个字符不相等直接返回false,循环的次数就是参数字符串的长度。
public boolean startsWith(String prefix) {
return startsWith(prefix, 0);
}
这个方法是上面方法的重载方法,将本字符串起始下标变为0,也就是从本字符串的第0个元素开始匹配。
public boolean endsWith(String suffix) {
return startsWith(suffix, value.length - suffix.value.length);
}
这个方法同样很重要,是判断本字符串是否以参数字符串为结尾,实现方式是调用startsWith方法,参数是目标字符串,起始下标是本字符串长度减去参数字符串的长度,也就是从这个差额处开始判断,所以判断的是本字符串结尾是否和参数字符串相等。
- 共同学习Java源码--常用数据类型--String(八)
- 共同学习Java源码--常用数据类型--String(一)
- 共同学习Java源码--常用数据类型--String(二)
- 共同学习Java源码--常用数据类型--String(三)
- 共同学习Java源码--常用数据类型--String(四)
- 共同学习Java源码--常用数据类型--String(五)
- 共同学习Java源码--常用数据类型--String(六)
- 共同学习Java源码--常用数据类型--String(七)
- 共同学习Java源码--常用数据类型--String(九)
- 共同学习Java源码--常用数据类型--String(十)
- 共同学习Java源码--常用数据类型--String(十一)
- 共同学习Java源码--常用数据类型--String(十二)
- 共同学习Java源码--常用数据类型--String(十三)
- 共同学习Java源码--常用数据类型--String(十四)
- 共同学习Java源码--常用数据类型--String(十五)
- 共同学习Java源码--常用数据类型--String(十六)
- 共同学习Java源代码--常用工具类--AbstractStringBuilder(八)
- 共同学习Java源代码-数据结构-HashMap(八)
- HDOJ 1431-素数回文【删除大量无关数据】
- Android:自定义标题栏
- spring笔记
- myeclipse和svn通过代理方式更新代码
- 赶集网mysql开发36军规
- 共同学习Java源码--常用数据类型--String(八)
- linux下安装jdk
- aop
- Linux下安装ActiveMQ CPP
- 【BZOJ2103】【BZOJ2447】Fire 消防站【DFS】【TreeDP】
- 如何使用Nikto漏洞扫描工具检测网站安全
- Zookeeper 的学习与运用
- aop注解
- php让浏览器下载txt等类型的文件