java .lang.StringBuilder类:字符串缓冲区,可以提高字符串的效率
构造方法:
StringBuilder();构造一个不带任何字符的字符串生成器,其初始容量为16个字符。
StringBuilder(String str);构造一个字符串生成器,并初始化为指定的字符串内容。
public class StringBuilder {
public static void main(String [] args){
//空参数构造方法
StringBuilder bu1 = new StringBuilder();
System.out.println("bu1:"+ bu1);//bu1:""
//带字符串的构造方法
StringBuilder bu2 = new StringBuilder("abc");
System.out.println("bu2:" + bu2);
}
}
StringBuilder的常用方法有两种
第一种
public stringBuilder append(…) ;添加任意类型数据的字符串形式,并返回当前对象自身。
public class Demo02StringBuilder {
public static void main(String[]args){
//创建StringBuilder对象
StringBuilder bu = new StringBuilder();
//使用append方法往StringBuilder中添加数据
//append方法返回的时this,调用方法的对象bu,this == bu
// StringBuilder bu2 = bu.append("abc");//把bu 的地址值赋值给了bu2
// System.out.println(bu);//"abc"
// System.out.println(bu2);//"abc"
// System.out.println(bu == bu2);//比较的时地址 true
//使用append方法无需接受返回值
bu.append("abc");
bu.append(1);
bu.append(true);
bu.append(8.8);
bu.append('中');
System.out.println(bu);
/*
链式编程:方法返回值是一个对象,可以继续调用方法
*/
System.out.println("abc".toUpperCase().toLowerCase().toUpperCase().toLowerCase());
bu.append("abc").append(1).append(true).append(8.8)append('中');
System.out.println(bu);
}
}
**toString**
StringBuilder和String可以相互转换:
String->StringBuilder:可以使用StringBuilder构造方法
StringBuilder(String str)构造一个字符串生成器,并初始化为指定的字符串内容。
StringBuilder- >String:可以使用StringBuilder中的toString方法
public String toString();将当前StringBuilder对象转换为String对象
public class Demo03StringBuilder {
public static void main(String[] args){
//String-> StringBuilder
String str = “hello”;
System.out.println(“str:” + str);
StringBuilder bu = new StringBuilder(str);
//往StringBuilder中添加数据
bu.append(“world”);
System.out.println(“bu:” + bu);
//StringBuilder -> String
String s = bu.toString();
System.out.println("s" + s);
}
}
**包装类**
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200824134141885.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80ODYwMTYyNA==,size_16,color_FFFFFF,t_70#pic_center)