黑马程序员--字符串缓冲区StringBuffer 和 StringBuiler

------- android培训java培训、期待与您交流! ----------

 

 

 

StringBuffer:构造一个其中不带字符的字符串缓冲区,初始容量为16 个字符。

StringBuilder :JDK1.5出现StringBuiler;构造一个其中不带字符的字符串生成器,初始容量为16 个字符。该类被设计用作StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。方法和StringBuffer一样。

 

特点:

1:可以对字符串内容进行修改

2:是一个容器

3:是可变长度的

4:可以存储任意类型数据

5:最终需要变成字符串

 

 

StringBuffer 和StringBuilder 的区别:
 StringBuffer线程安全。

 StringBuilder线程不安全。


 单线程操作,使用StringBuilder 效率高。
 多线程操作,使用StringBuffer 安全。

 

由于StringBuilder和StringBuffer方法基本一样,所以写个StringBuilder的例子
--------------------------------------------------------------------------------------------------------------------------------------------------

StringBuilder sb = new StringBuilder("abcdefg");
sb.append("ak"); //abcdefgak
sb.insert(1,"et"); //aetbcdefg
sb.deleteCharAt(2); //abdefg
sb.delete(2,4); //abefg
sb.setLength(4); //abcd 
sb.setCharAt(0,'k'); //kbcdefg 
sb.replace(0,2,"hhhh"); //hhhhcdefg

//想要使用缓冲区,先要建立对象。 
StringBuffer sb = new StringBuffer();   
sb.append(12).append("haha");  //方法调用链。
String s = "abc"+4+'q'; 
s = new StringBuffer().append("abc").append(4).append('q').toString(); 

 

--------------------------------------------------------------------------------------------------------------------------------------------------

 

class  Test{

public static void main(String[] args) {
 
String s1 = "java";
String s2 = "hello"; 
method_1(s1,s2); 
System.out.println(s1+"...."+s2);   //java....hello


StringBuilder s11 = new StringBuilder("java"); 
StringBuilder s22 = new StringBuilder("hello");
method_2(s11,s22); 
System.out.println(s11+"-----"+s22);  //javahello-----hello


public static void method_1(String s1,String s2){  //s1,s2的内容不会因为此方法而改变
s1.replace('a','k');
s1 = s2;


public static void method_2(StringBuilder s1,StringBuilder s2){

s1.append(s2);

s1 = s2; 


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值