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

StringBuilder

时间:2017-10-03 23:25:59      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:为什么   admin   方法重写   ##   return   his   author   引用   logs   

 

 1 package cn.bjsxt.stringbuilder;
 2 /**
 3  * String 不可变字符序列 
 4  * StringBuilder StringBuffer都是是可变字符序列
 5  * 区别在于StringBuilder(线程不安全,效率高)  StringBuffer是(线程安全,效率低)
 6  * @author Administrator
 7  *
 8  */
 9 public class Test01 {
10 
11     public static void main(String[] args) {
12         StringBuilder sb = new StringBuilder();//字符数组长度默认16,因为父类构造方法设置的是16
13         StringBuilder sb1 = new StringBuilder(32);//字符数组长度默认32
14         StringBuilder sb2 = new StringBuilder("abcd");//字符长度="abcd"+字符数组长度默认16=20个字符
15                                                       // 因为父类里面方法重写是16+字符串长度
16         sb2.append("efg");//在字符创后边添加字符串
17         sb2.append(true);//还可以添加布尔值 
18         System.out.println(sb2);
19         
20         sb2.append(false).append(123).append(1.0);//因为 这个方法 return this 所以可以一直调用
21         System.out.println(sb2);
22         
23         System.out.println("######################");
24         
25         StringBuilder gh = new StringBuilder("a");//长度"a"+16=17的字符 为什么下面循环20次却可以呢?建新数组替换老数组扩容
26         //扩容大小(17+1)*2  老数组 没人引用 会被 垃圾回收
27         //循环里面调用append() 循环添加字符  //看append()源码发现 
28         for(int i=0;i<20;i++){
29             gh.append(i);
30         }
31         System.out.println(gh);
32     }

 

StringBuilder

标签:为什么   admin   方法重写   ##   return   his   author   引用   logs   

原文地址:http://www.cnblogs.com/PoeticalJustice/p/7624667.html

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