Java StringBuffer

1.String的特点

 1.String 有两种实例化的方式;

   a.直接赋值 :开辟一块堆空间,可以自动入池;

   b.使用new关键字:开辟两块堆空间,可以使用intern()手工入池;

   c.任何一个字符串都是String类的匿名函数;

   d.字符串串一旦声明不可以改变,可以改变的是String类对象的引用;

2.String不可变---》StrigBuffer(可变字符串)

String 

public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence {}

StringBuffer

public final class StringBuffer
    extends AbstractStringBuilder
    implements java.io.Serializable, CharSequence{}

StringBuilder

public final class StringBuilder
    extends AbstractStringBuilder
    implements java.io.Serializable, CharSequence{}

String 转StringBuffer

1.利用构造函数

StringBuffer sb=new StringBuffer("字符串");

2.利用append()

StringBuffer sb=new StringBuffer();
	sb.append("hello").append("world");

StringBuffer--->String

1.利用toStirng();

StringBuffer sb=new StringBuffer();
	sb.append("hello").append("world");
	String string = sb.toString();

2.利用String类的构造函数

StringBuffer sb=new StringBuffer();
	sb.append("hello").append("world");
	String str1=new String(sb);

String 和StringBuffer的比较

	StringBuffer sb=new StringBuffer();
	sb.append("hello").append("world");
	String str="helloworld";
	boolean contentEquals = str.contentEquals(sb);//true

String提供了许多方法便于开发,StringBuffer 也提供了许多的方法;

1.字符串反转

StringBuffer sb=new StringBuffer();
	sb.append("god");
	sb.reverse();
	System.out.println(sb);//dog

2.在指定索引后面追加数据;

StringBuffer sb=new StringBuffer();
	sb.append(" god!");
	sb.insert(0, "my").insert(0, "oh ");
	System.out.println(sb);//oh my god!

3.删除部分数据

StringBuffer sb=new StringBuffer("01234567");
	sb.delete(0, 3);//下标从0开始包前不包后
	System.out.println(sb);//34567

JDK1.5增加了StringBuilder类,StingBuilder在定义上和StringBuffer非常相似,几乎连方法都一样;

String,StringBuffer 和StringBuilder的区别

1.String 一旦内容声明不可以改变;StringBuffer 和StringBuilder是可变字符串;

2.StringBuffer的方法是同步(需要排队)方法,线程安全;

3.StringBuilder 的方法是异步方法,线程不安全;

 

在实际的开发中95%使用String,如果需要频繁修改或删除时使用StringBuffer;

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值