[疯狂Java]基础类库:StringBuilder/StringBuffer
来源:互联网 发布:淘宝如何缩短收货时间 编辑:程序博客网 时间:2024/05/17 06:26
1. 两者的区别:
1) 两者功能上完全一样,两者包含的方法也一模一样,只不过Builder是线程不安全的,而Buffer是线程安全的;
2) 由于Builder适用于单线程,因此Builder效率要明显高于Buffer,因此一般单线程的应用首选Builder;
3) 它们俩和String的区别就是String不能修改内容,但它们俩可以;
!!以下就以StringBuilder为例介绍用法,都是StringBuilder的对象方法;
!!虽然StringBuilder/StringBuffer并不是直接建立在String的基础上的,但是大多数String拥有的方法StringBuilder也有(但并不是全部),因此用的时候可以尝试看看!
!!所有StringBuilder中修改字符串的方法不管反不返回新的字符串都将改变原字符串!!!
!!StringBuilder/StringBuffer都实现了toString,可以返回其内容的String类型形式;
2. 长度和容量:
1) int length(); // 返回当前长度(字符个数)
2) void setLength(int newLength); // 设置新的长度(小于原长就截断,大于原长则保留原串超出部分用Java的空字符填充)
3) int capacity(); // 返回容量(能装字符个数的上限)
3. 设置序列中的字符:
1) 为某个字符重新赋值:void setCharAt(int index, char ch); // 相当于s[index] = ch;
2) 删除指定位置的字符:StringBuilder deleteCharAt(int index);
4. 逆序:StringBuilder reverse();
5. 追加:
1) StringBuilder append(type val);
2) 追加的类型包括所有Java的基础类型(boolean、int、float等),肯定是先转换成字符串的形式再追加的;
3) 也可以是引用类型(当然包括String自己啦!),里面有一个版本append(Object obj);,只要该类型实现了toString方法就会将toString的结果追加到字符串末尾;
4) 还提供了专门追加字符序列的版本:
i. StringBuilder append(char[] str);
ii. StringBuilder append(char[] str, int offset, int len);
6. 插入:
1) StringBuilder insert(int offset, type val); // 在指定索引出插入val的字符串形式
2) type和上面一样支持所有Java基础类型以及Object(默认调用toString方法)、String;
3) 插入字符数组的版本:
i. StringBuilder insert(int offset, char[] str);
ii. StringBuilder insert(int index, char[] str, int offset, int len); // 从index的位置开始插入,只不过不能同时用两个offset命名罢了,这里的index和上面的offset是一个意思
7. 删除指定区间:StringBuilder delete(int start, int end); // 删除[start, end),记住!是左闭右开的!!
8. 替换:StringBuilder replace(int start, int end, String str); // 将[start, end)替换成str
- [疯狂Java]基础类库:StringBuilder/StringBuffer
- java基础 之 String类 StringBuffer StringBuilder
- 【Java基础】StringBuffer 和 StringBuilder 类
- 【Java基础】String,StringBuffer, StringBuilder
- java基础<String-StringBuffer-StringBuilder>
- java基础---StringBuilder 和 StringBuffer
- Java基础 String StringBuffer StringBuilder
- java基础 JAVAString StringBuffer StringBuilder
- 【JAVA基础】StringBuffer和StringBuilder
- 【Java基础】String StringBuffer StringBuilder
- java基础-String/StringBuffer/StringBuilder
- Java基础--String、stringbuffer、stringbuilder
- 基础类库:StringBuffer、StringBuilder类
- JAVA基础学习(十三)--String、StringBuilder、StringBuffer与包装类
- java基础--4.常用类-3.StringBuffer、StringBuilder
- Java基础学习(三)—String类型,StringBuffer,StringBuilder类
- Java入门基础之【StringBuffer和StringBuilder类】12
- Java基础类库——String、StringBuffer和StringBuilder类
- Android SQLite 的介绍和使用(二)
- Spring源码解读-Spring IoC容器初始化之资源解析
- 详解Paint的setColorFilter(ColorFilter filter)
- mybatis insert 返回主键
- Linux Pthread 总结
- [疯狂Java]基础类库:StringBuilder/StringBuffer
- 《学习OpenCV》课后习题解答2
- mxc_uart device 添加过程
- Tomcat配置虚拟目录、多域名、多个Http监听端口的方式
- Block-level elments & Inline-level elements
- 交互式动画
- 常见多媒体文件格式及视音频编解码总结
- Win7中,关于VMware下的Ubuntu的一点记录
- java 通过接口抓取数据