您的位置:首页 > 编程语言 > Java开发

java String类方法replace分析

2014-08-10 12:55 411 查看
public String replace(char oldChar, char newChar) {
if (oldChar != newChar) {
int len = value.length;//取得整个字符串的长度。
int i = -1;
//复制一份字符串数组。
char[] val = value; /* avoid getfield opcode */
//获取第一次出现被替换的字符的位置.
while (++i < len) {
if (val[i] == oldChar) {
break;
}
}
//如果这个位置小于字符串的长度。
if (i < len) {
//申请一个和原来字符数组一样大小的buf数组。
char buf[] = new char[len];
//将第一次出现要被替换的字符之前的所有字符复制到buf中.
for (int j = 0; j < i; j++) {
buf[j] = val[j];
}
while (i < len) {
char c = val[i];
//在剩余的字符中,每遇到一个旧字符就用新的字符替换。
buf[i] = (c == oldChar) ? newChar : c;
i++;
}
//将构造的新的字符串对象返回。
return new String(buf, true);
}
}
return this;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java replace