码迷,mamicode.com
首页 > 其他好文 > 详细

测试可变字符序列stringBuilder

时间:2018-03-16 23:45:29      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:返回   gfs   app   实现   test   i++   不可变   ring   this   

测试可变字符序列 stringBuilder(线程不安全,效率高,一般用),stringBuffer(线程安全,效率低)
stringBuilder,stringBuffer和string的区别前者可变,后者不可变,因为后者类中用的是final,定死了

1 public class Test01 {
2     public static void main(String[] args){
3     
4         StringBuilder sb=new StringBuilder();//创建了初始长度为16的字符数组
5         StringBuilder sb1=new StringBuilder(32);//初始长度为32;
6         StringBuilder sb2=new StringBuilder("abcd");//初始长度为32,value[]={‘a‘,‘b‘,‘c‘,‘d‘,\u0000,\u0000...}
7     
8     }
9 }

StringBuilder中的常用方法;

public class Test02 {
    public static void main(String[] args){ 
    StringBuilder ss2=new StringBuilder("akjlfksjfkwnsh");
    ss2.reverse();
    System.out.println(ss2);//反置字符串
    StringBuffer sb=new StringBuffer();
    StringBuilder sb2=new StringBuilder("abcd");
    sb2.append("efg");//累加作用,字符串长度变了相当于输出变成了abcdefg
    sb2.append(true).append(321).append("随便");//append中通过return this返回本字符串实现方法链.
    System.out.println(sb2);
    StringBuilder gh=new StringBuilder("a");
    for(int i=0;i<15;i++){
        gh.append(i);
    }
    System.out.println(gh);/**应该是后面接了1到100的数;StringBuilder里在碰到字符不够的时会自己换一个
                                新字符数组,扩展字符数组的长度(b=a*2+2),老数组会被回收,数组扩容!!!**/
    //StringBuilder中delete方法,把数组从start字符到end字符的东西删掉输入是索引
    StringBuilder ss=new StringBuilder("abdkagdasjkbfkugfkjasbuifgsjgfsbui");
    ss.delete(3, 7);//这个也是可以方法链的(StringBuilder里的很多方法都可以方法链)这里可以delete(3,5).delete(3,5)...
    System.out.println(ss);//消去了dkag四个字符;
    }
}

 

测试可变字符序列stringBuilder

标签:返回   gfs   app   实现   test   i++   不可变   ring   this   

原文地址:https://www.cnblogs.com/myErebos/p/8586316.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!