请教各位高手:
字符串初始化后不能修改,字符串缓冲区支持可变的字符串
调用replace()方法返回一个新的字符串是否可以理解为:
字符串等效一个字节数组
字节数组被复制到缓冲区
然后replace()方法修改字节数组
然后返回一个新的字符串
它们内存中的对应情况是什么样的新手没分,不好意思
谢谢先,祝大家新年快乐
字符串初始化后不能修改,字符串缓冲区支持可变的字符串
调用replace()方法返回一个新的字符串是否可以理解为:
字符串等效一个字节数组
字节数组被复制到缓冲区
然后replace()方法修改字节数组
然后返回一个新的字符串
它们内存中的对应情况是什么样的新手没分,不好意思
谢谢先,祝大家新年快乐
解决方案 »
- 为什么这个applet不工作?
- java.Swing
- 使用正则表达式提取网页正文
- java.sql.SQLException: Syntax error or access violation message from server: "Access denied for user 'root'@'%' to database 'sal
- 如何在ServerSocket中监听客户端socket是否退出连接?
- 撤销功能实现?
- **求救!如何在按钮上显示不同形式和大小的字体啊??**
- 關於setIcon的問題
- 关于java中constructor的一个问题
- spring boot打jar包后报错,可是我本地在idea中跑是没有问题的,求救啊!!!
- 大家帮我看看简单的航空订票系统的问题
- java人聚集的地方
public String replace(char oldChar, char newChar) {
if (oldChar != newChar) {
int len = count;
int i = -1;
char[] val = value; /* avoid getfield opcode */
int off = offset; /* avoid getfield opcode */ while (++i < len) {
if (val[off + i] == oldChar) {
break;
}
}
if (i < len) {
char buf[] = new char[len];
for (int j = 0 ; j < i ; j++) {
buf[j] = val[off+j];
}
while (i < len) {
char c = val[off + i];
buf[i] = (c == oldChar) ? newChar : c;
i++;
}
return new String(0, len, buf);
}
}
return this;
}
这样看的可以很清楚!