Java StringBuffer StringBuilder

package com.qf.demo01;
class Container{
String str = "";
public Container add(String s){
str += s;
return this;//将当前的对象,作为返回值。
}
}
public class Test1StringBuffer {
public static void main(String[] args) {
/*
* 存储一个字符串,可以使用String,也可以使用StringBuffer,以及StringBuiler。
* String:字符串内容不能更改。
* StringBuffer:字符串的内容可以修改。
*/
//step1:创建StringBuffer对象。容量可以自动扩容
StringBuffer sb = new StringBuffer();//,StringBuffer对象创建出来了,但是里面还没有内容
System.out.println(sb.toString());
// StringBuffer sb2 = new StringBuffer(20);//StringBuffer创建了,容量存储20个字符。
StringBuffer sb3 = new StringBuffer("abc");
System.out.println(sb3.toString());
// Container c = new Container();
// c.add("haha").add("hehe").add("abc");//方法链
//step2:有哪些方法可以使用
/*
* append(data)-->StringBuffer对象本身,在屁股后面追加。。
*/
System.out.println("sb-->"+sb);
sb.append("abc");
System.out.println(sb);
sb.append(true);
System.out.println(sb);
sb.append(100).append(3.14).append(new Object());
System.out.println(sb);//"abctrue1003.14java.lang.Object@15db9742"
sb.append(sb);
System.out.println(sb);
/*
* insert(index, data),在指定的位置,进行插入数据
*/
sb.insert(1, "XXX");
System.out.println(sb);
sb.insert(0, "***");
System.out.println(sb);
System.out.println(sb.length());//sb中存储的字符串的长度是84个
sb.insert(84, "666");
System.out.println(sb);
/*
* delete(start,end)-->StringBuffer
* 删除从start开始,到end结束,之间的这些字符
* [start,end)
*
* StringBuffer deleteCharAt(int index)
*/
sb.delete(1, 3);
System.out.println(sb);
sb.delete(0, 4);
System.out.println(sb);
sb.deleteCharAt(11);//删除指定的字符
System.out.println(sb);
/*
* reverse()-->StringBuffer,翻转
*/
sb.reverse();
System.out.println(sb);
/*
* setCharAt(index,char)-->void,使用第二个参数表示的字符,替换掉指定下标的字符
*/
sb.setCharAt(2, '9');
System.out.println(sb);
/*
* setLength()-->void,设置一个StringBuffer的字符串内容的长度
*/
System.out.println(sb);
System.out.println(sb.length());
sb.setLength(10);
System.out.println(sb);
sb.setLength(20);
System.out.println(sb);
System.out.println(sb.length());
sb.append("haha");
System.out.println(sb);
/*
* replace(start,end, str)-->StringBuffer,替换指定区间的内容,[statt,end),用str来替换
*/
sb.replace(10, 20, "XXX");
System.out.println(sb);
StringBuilder sb2 = new StringBuilder();
sb2.append(true);
}
}

浙公网安备 33010602011771号