StringBuilder定义和作用
StringBuilder的作用:节省字符串拼接所制造的内存和占用的时间
每一次字符串拼接堆区中的常量区都会开辟一块新的地址和内存
StringBuilder是一个可变的字符串类,我们可以把它看作是一个容器,这里的可变指的是StringBuiler对象中的内容是可变的,它在进行拼接的时候是不会创建一个新的对象的。而String中的内容是不可变的。
StringBuilder的构造方法
public StringBuilder()
无参构造方法,可创建空白字符串对象public StringBuilder(String str)
带参构造方法,根据字符串内容,创建可变字符串对象StringBuilder stb = new StringBuilder()
这个是创建对象的格式(创建对象的统一格式)
StringBuilder的添加和反转方法
通过append方法进行添加
StringBuilder stb = new StringBuilder();
sbb.append("sapere");
sbb.append("Aude");
//输出这个字符串的结果为 spaere Aude
//如果采用链式编程:
sbb.append("sapere"). sbb.append.("Aude")
//输出结果一样
//这个append方法返回的是对象本身,相当于返回的对象再调用方法
通过reverse进行字符串反转
stb.reverse();
//输出stb的结果为 eduA erepas
#### StringBuilder与String的相互转换 1.String转换成StringBuilder
public StringBuilder(String s); //这个就是构造方法
2.StringBuilder转换成String
public String toString();
String s = stb.toString();
//此时stb被转换成了s
案例:将{1,2,3)通过一个方法输出为[3,2,1]
public static void main(String[] args) {
int[] arr = {1, 2, 3};
System.out.println(converse(arr));
}
public static String converse(int[] arr) {
StringBuilder stb = new StringBuilder();
stb.append("[");
for (int i = arr.length - 1; i >= 0; i--) {
if (i == 0) {
stb.append(arr[i]); //整型自动转为字符串型
break;
}
stb.append(arr[i]).append(",");
}
stb.append("]");
return stb.toString();
}