Java中StringBuilder
string类:
字符串是常量 它们的值在创建之后不能更改
字符串的底层是一个被final修饰的数组 不能改变 是一个常量
进行字符串的相加时 内存中会有多个字符串,占用的空间很多 效率低下
String s = "a" + "b" + "c" s="abc"
a b c这是三个字符串 第一次➕ ab又是一个字符串 第二次➕abc又是一个字符串
一共五个字符串。
StringBuilder类:
字符串缓冲区 可以提高字符串的操作效率(看成一个长度可以变化的字符串)。
底层也是一个数组 但是没有被final修饰 是可以变化的。
byte[] value = new byte[16] 初始容量为16个长度
用StringBuilder来进行字符串相加
如果超过了16 会自动扩容
两个常用构造方法:
StringBuilder() 空参
StringBuilder(string str) 有参
常用成员方法:
append方法 ----->参数可以是任意数据类型。传参 添加数据。返回的其实是this 是对象本身。
不用返回值来接收append方法的返回值。可以直接使用。
reverse方法 ------>把内容翻转 翻转后的值也是对象本身
to string方法 ------> string和stringbuilder可以相互转换。
string-->stringbuilder 用stringbuilder的构造方法 stringbuilder(string str)构造一个字符串生成器,并初始化为指定的字符串内容。
stringbuilder-->string 用stringbuilder的tostring方法 string tostring():将当前stringbuilder对象转化为string对象。
String str = "hello"; System.out.println("str:"+str); //往StringBuilder中添加数据 StringBuilder bu = new StringBuilder(str); bu.append("biubiubiu"); System.out.println("bu:"+bu); //stringbuilder ----> string String s = bu.toString(); System.out.println(s);
链式编程:
方法的返回值是一个对象 可以根据对象继续调用方法
继续用 . 调用