StringBuffer功能

来源:互联网 发布:js div classname 编辑:程序博客网 时间:2024/05/22 12:09
/**
 * StringBuffer是字符串缓冲区,是一个容器
 * 1.而且长度是可变化的,(数组长度是固定的)
 * 2.可以直接操作多个数据类型(而数组只能操作一种数据类型)
 * 3.最终会通过toString变成字符串
 * @author dada56
 *StringBuilder是线程不同步的,线程不安全,单线程时用StringBuilder,效率
 *高,不需检验锁
 *而StringBuffer线程安全,多线程用,但效率没StringBuilder快
 *
 */
public class StringBufferDemo {
public static void main(String[] args) {
//1.存储
StringBuffer sb=new StringBuffer();
StringBuffer sb1= sb.append(89);
//方法调用链,返回的是同一对象
sb.append("abc").append(true).append(34);
sb.insert(1, "qq");
System.out.println(sb.toString());
   //2.删除
StringBuffer sbm=new StringBuffer("asdf");
sbm.delete(1, 3);
sbm.delete(0, sbm.length());

StringBuffer sbg=new StringBuffer("hjhjhsdf");
sbg.deleteCharAt(2);
//3.修改
System.out.println(sbg.toString());
sbg.replace(1, 4, "java");//含头不含尾
sbg.setCharAt(2, 'k');
//4.反转
sbg.reverse();
//5.将缓冲区指定数据存储到数组中
StringBuffer ss=new StringBuffer("sdsdrerefgfg");
char[] chr=new char[4];
ss.getChars(1, 4, chr, 1);//从1切到4(不含),放到chr数组中,并从1开始放
for(int x=0;x<chr.length;x++){
System.out.println(chr[x]);
}
System.out.println(sbg.toString());
}
}
0 0
原创粉丝点击