Java常用类 <StringBuffer类>

大家好,我是小涛,一名刚学Java的一个小白,我希望把我所学到的内容分享出来,如有错误,望大佬指出,本人浅薄理解,谢谢大家观看。

文章目录

  • 前言
  • 一、StringBuffer类的构造方法和成员方法
  • 二、StringBuffer类和StringBuilder类的区别
  •        String类,StringBuffer类和StringBuilder类的区别
  • 总结


前言

记得我在学String类的时候,我本人就对StringBuffer类有些不理解,为此我也查了许多资料,现在我希望能把我所学到的分享给大家,浅薄理解,仍有不足,感谢所有人给的鼓励。


提示:以下是本篇文章正文内容,下面案例可供参考

一、StringBuffer类的构造方法

1.StringBuffer类的构造方法代码如下

/*构造方法
   * StringBuffer();
   * StringBuffer(String str);
    */
 public static void main(String[] args) {
			method01();
			method02();	
			method03();
			method04();
			method05();
			method06();
			method07();
			method08();
			method09();
		}//我所构造的所有方法

StringBuffer person10=new StringBuffer("");//最简单的构造方法
public static void method01() {
		//无参构造
		StringBuffer person01=new StringBuffer();
		System.out.println(person01);
//有参构造
		StringBuffer person02=new StringBuffer("Ray");
		System.out.println(person02);
	}

2.StringBuffer成员方法如下

/*成员方法
 * StringBuffer append(char c) //添加字符到StringBuffer对象末尾 
 * StringBuffer insert(int offest,String str)
 * 在StringBuffer对象中的offest位置插入字符串str
 * StringBuffer deleteCharAt(int index)移除StringBuffer对象中指定位置的字符
 * StringBuffer delete(int start,int end)删除StringBuffer对象中指定范围的字符或字符串
 * StringBuffer replace(int start,int end,String s)
 * 将StringBuffer对象中指定范围的字符串用新的字符串s进行替换
 * void setCharAt(int index,char ch)修改指定位置index处的字符
 * StringBuffer toString()返回StringBuffer缓冲区的字符串对象
 * StringBuffer reverse() 将此StringBuffer 对象其反转形式取代
 */
 public static void method09() {
			StringBuffer person10=new StringBuffer("IloveJava");
			person10.reverse();//StringBuffer reverse() 将此StringBuffer 对象其反转形式取代
			System.out.println(person10);
	  }
 public static void method08() {
			StringBuffer person09=new StringBuffer("Lucy");
	String str=person09.toString();//StringBuffer toString()返回StringBuffer缓冲区的字符串对象
			System.out.println(str);
	}
public static void method07() {
			StringBuffer person08=new StringBuffer("HiJava");
person08.setCharAt(2,'L');//void setCharAt(int index,char ch)修改指定位置index处的字符
			System.out.println(person08);
	}
public static void method06() {
			StringBuffer person07=new StringBuffer("HelloWorld");
			person07.replace(4, 6, "yT");//StringBuffer replace(int start,int end,String s)
			System.out.println(person07);
	}
public static void method05() {
			StringBuffer person06=new StringBuffer("Carl");
			person06.delete(2, 4);//StringBuffer delete(int start,int end)
			System.out.println(person06);
	}
public static void method04() {
			StringBuffer person05=new StringBuffer("Tom");
			person05.deleteCharAt(2);// StringBuffer deleteCharAt(int index)移除StringBuffer对象中指定位置的字符
			System.out.println(person05);
	}
public static void method03() {
		StringBuffer person04=new StringBuffer("Jack");
		person04.insert(3,"ss");//StringBuffer insert(int offest,String str)
		System.out.println(person04);
	}
public static void method02() {
		StringBuffer person03=new StringBuffer("Kitty");
		person03.append("Hi");//StringBuffer append(char c) //添加字符到StringBuffer对象末尾 
		System.out.println(person03);
	}

我得代码下的运行截图

 

二、String类,StringBuffer类和StringBuilder类的异同

    StringBuffer、StringBuilder和String类似,底层也是用一个数组来存储字符串的值,并且数组的默认长度为16,即一个空的StringBuffer对象数组长度为16。实例化一个StringBuffer对象即创建了一个大小为16个字符的字符串缓冲区。但是​当我们调用有参构造函数创建一个StringBuffer对象 时,数组长度就不再是16了,而是根据当前对象的值来决定数组的长度,数组的长度为“当前对象的值的长+16”。所以一个 StringBuffer 创建完成之后,有16个字符的空间可以对其值进行修改。如果修改的值范围超出了16个字符,会先检查StringBuffer对象的原char数组的容量能不能装下新的字符串,如果装不下则会对 char 数组进行扩容。(此文案转载自其他博主)

StringBuffer和String的区别
StringBuffer长度和内容可以改变,String不可变。
使用StringBuffer来拼接字符串,不会浪费太多的空间资源。

StringBuffer又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。原来StringBuffer是个字符串的缓冲区,即就是它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。


总结

这就是我所学得的内容,另外感谢给我提供代码的课代表,用你的代码以及方法我能更好的理解深入关于StringBuffer类的用法,希望在我这篇博客下,读者能对于StringBuffer类的理解更加深入一些,本人浅薄理解,感谢观看。

  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值