第四周之StringBuffer类

第四周之StringBuffer类,第1张

第四周之StringBuffer类 1. StringBuffer类
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是线程安全的一个类,支持可变的字符序列
				形参影响实参

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5708602.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存