StringBuffer & StringBuilder
一、StringBuffer
- 可变长字符串,JDK1.0提供。
- 运行效率比StringBuilder慢、线程安全。
二、StringBuilder
- 可变长字符串,JDK5.0提供。
- 运行效率快,线程不安全。
- 用的较多。
三、两者的使用
- StringBuffer 和StingBuilder相比String来说,效率比String高,比String更节省内存。
四、常用的方法
1. append()追加
public StringBuilder append(String str)
- 将str添加到后面。
2. insert()添加/插入
public StringBuilder insert(int offset, String str)
- 将str在下标offset插入。
3. replace()替换
public StringBuilder replace(int start, int end, String str)
- 将下标start至下标end的内容替换为str。
4. delete()删除
public StringBuilder delete(int start, int end)
- 将下标start至下标end的内容删除
五、代码示例
public class StringBuilderAndBuffer {
public static void main(String[] args) {
StringBuilder st = new StringBuilder();
System.out.println("-----------append()追加------------");
st.append("java是个好东西");
System.out.println(st);
st.append(100);
System.out.println(st);
st.append(" java真不错");
System.out.println(st);
System.out.println("-----------insert()添加/插入------------");
st.insert(0,"我要在最前面");
System.out.println(st);
System.out.println("-----------replace()替换------------");
st.replace(15,18,"c语言");
System.out.println(st);
System.out.println("-----------delete()删除------------");
st.delete(0,6);
System.out.println(st);
System.out.println("-----------delete(0,length)清空------------");
st.delete(0,st.length());
System.out.println(st);
}
}
运行结果
-----------append()追加------------
java是个好东西
java是个好东西100
java是个好东西100 java真不错
-----------insert()添加/插入------------
我要在最前面java是个好东西100 java真不错
-----------replace()替换------------
我要在最前面java是个好东西c语言 java真不错
-----------delete()删除------------
java是个好东西c语言 java真不错
-----------delete(0,length)清空------------
Process finished with exit code 0