概述:
StringBuilder类也是在Lang包下,使用时不需要导包;
StringBuilder是一个字符容器,内容是可变的;
直接打印该对象显示的不是地址值,而是元素内容。
作用:
提升字符串的拼接效率。
常用方法:
append(任意类型):可以添加任意数据类型,返回的是对象本身;
reverse():返回相反的字符序列;
length():返回长度值(字符的数量);
toString():返回String类型的对象。
链式编程 :
一个方法返回的对象是自己,那么就可以继续调用其他方法,这就是链式编程;
例:sb.append(1).append(1).append(1).append(1).append(1)。
String与StringBuilder的区别 :
StringBuilder的内容是可变的,所以只有一个容器地址。
例如:调用append(),reverse(),即使不接收返回值,对象本身也会发生改变。
String的内容是不可变的。
因此每次直接使用字符串拼,实际上是在内存中创建了两个对象,先创建sb对象,在sb对象中完成拼接的行为,然后再将结果转为String对象,留在堆内存中,因此拼接效率极低。
所以我们在进行字符串的拼接操作时,推荐使用StringBuilder操作。