1.StringBuffer:字符缓冲区-->里面存储的可变的字符序列,但是他的类型是StringBuffer类型1.1 StringBuffer常用方法
1.构造方法: public StringBuffer():空参构造 public StringBuffer(String str):输入String类型有参构造 "hello"-->容量大小-->16+5 中文特殊-->超过某个容量值,系统会重新分配 这两个构造方法在默认容量基础上会自己追加内容,不需要指定容量 public StringBuffer(int capacity):指定容量大小 2.获取功能: public int length():获取字符串缓冲区的长度 public int capacity():获取缓冲区的容量大小 字符串缓冲区默认16个初始容器 3.添加功能: public StringBuffer append(任何数据类型):追加功能,返回时字符串缓冲区本身在缓冲区的默认的字符序列后面依次追加 public StringBuffer insert(int offest,char c/String str): 返回值所示在指定位置插入指定的字符或者字符串 4.反转功能: public StringBuffer reverse():返回字符串缓冲区本身 5.截取功能: public subString(int beginIndex):从指定位置截取到末尾 public subString(int beginIndex,int endIndex):从指定位置开始,截取到endIndex-1 6. 三种String和StringBuffer之间的相互转换 (1)通过append()方法拼接String类型 String-->StringBuffer (2)通过StringBuffer(String str)有参构造 String-->StringBuffer (3)通过String(StringBuffer buffer)有参构造 StringBuffer-->String (4)通过StringBuffer的toString方法赋值给String类型 StringBuffer-->String public class StringBufferTest { public static void main(String[] args) { //已知String---->StringBuffer String s = "hello" ; // StringBuffer sb = s ;//两个类型不一样的 //方式1:无参构造方法+append()追加 //方式2:有参构造直接StringBuffer(String s) StringBuffer sb = new StringBuffer(s) ; System.out.println("sb:"+sb) ; System.out.println("--------------------------------------") ; //StringBuffer----String StringBuffer buffer = new StringBuffer("JavaEE") ; //方式1:public String(StringBuffer buffer) String str = new String(buffer) ; System.out.println("str:"+str); //"JavaEE"--->String类型了 //方式2:public String toString(); String result = buffer.toString(); System.out.println("result:"+result) ; } }1.2 StringBuffer和StringBuilder的区别
1.共同点:具有相互兼容的API,都是支持可变的字符序列,不断在字符串缓冲区进行字符追加 2.不同点: (1)StringBuffer线程安全的类-->通过 *** 作-->执行效率低-->多线程(安全,类似于银行网站) StringBuilder线程不安全的类-->不同步的 *** 作-->执行效率高-->单线程(类似于论坛)1.3 String和StringBuffer的区别
1.String是一个特殊的引用类型,形参不会改变实际参数 是常量,一旦被赋值,不能改变 2.StringBuffer是线程安全的一个类,支持可变的字符序列 形参影响实参
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)