字符串缓冲区 -缓冲可提高效率
1 package cn.learn;
2 /*
3 字符串缓冲区 -缓冲可提高效率
4 java.lang.StringBuilder
5 字符串的底层是一个被final修饰的数组,不能改变,是一个常量
6 private final byte[] value;
7 也就是说在字符串相加时,会生成多个字符串,占用空间效率低下
8 eg:String str = "a"+"b"+"c"
9 会有a,b,c,ab,abc五个字符串
10
11 而StringBuilder类,可提高效率(可以看成一个长度可以变换的字符串)
12 byte[] value = new byte[16]; //默认长度16
13 注:StringBuilder在内存中始终是一个数组,占用空间少,效率高,如果超出了StringBuilder
14 的容量会自动扩容
15 底层是一个没有被final修饰的数组,可以改变长度
16
17
18 */
19 public class StringBuilderApi {
20 public static void main(String[] args) {
21 //无参构造,默认长度16,里面为空白
22 StringBuilder str = new StringBuilder();
23 //有参构造
24 StringBuilder str1 = new StringBuilder("cn.learn");
25 System.out.println(str1); //cn.learn
26 //添加数据,返回对象当前本身 append(附加)
27 System.out.println(str1.append(".huxiaobai"));
28 }
29
30
31 }