作者:guibar
链接:https://blog.csdn.net/guibar/article/details/110454947?
StringBuilder
构造方法:
public StringBuilder(): 构造一个不带任何字符的字符串生成器,其初始容量为16个字符
public StringBuilder(String str):构造一个字符串生成器,并初始化为指定的字符串内容
常用方法:
public StringBuilder append(…): 添加任意类型数据的字符串形式,并返回当前对象本身
publicclassStringBuilderDemo{publicstaticvoidmain(String[] args){ StringBuilder stringBuilder =newStringBuilder();// 使用append方法往字符串缓冲区添加数据// append方法返回的是thisString stringBuilder1 = stringBuilder.append("cnm"); System.out.println(stringBuilder); System.out.println(stringBuilder1); System.out.println(stringBuilder == stringBuilder1);// true// == 比较的是内存地址// 使用append方法再添加一些数据,无需接收返回值stringBuilder.append(1); stringBuilder.append(true); stringBuilder.appeend(3.14); stringBuilder.append('W'); System.out.println(stringBuilder1);// cnm1true3.14W 等同于stringbuilder}}1234567891011121314151617181920
StringBuilder可以和String进行相互转换
String --> StringBuilder:可以使用StringBuilder的带参构造方法
StringBuilder(String str):构造一个字符串生成器,并初始化为指定的字符串内容
StringBuilder–>String:可以使用StringBuilder类中的toString()方法
public String toString(): 将当前的StringBuilder对象转换成String对象
publicclassStringBuilderDemo01{publicstaticvoidmain(String[] args){// String -- > StringBuilderString str ="Hello World"; StringBuilder bu =newStringBuilder(str);// 添加一些数据bu.append("---Java"); System.out.println("bu:"+ bu);// StringBuilder --> StringString s = bu.toString(); System.out.println("s:"+ s); }}123456789101112131415
public StringBuilder insert(int offset,…)根据指定的位置插入任意类型数据的字符串形式;不管存储什么类型的数据,进入到字符串缓冲区都变成了字符串值。
publicclassStringBuilderDemo02{// 构建StringBuilder对象String bu =newStringBuilder(); System.out.println("长度为:"+ bu.length);// 0 // 调用insert方法StringBuilder bu2 = bu.insert(0,"A"); System.out.println(bu2);// ASystem.out.println(bu == bu2);// trueSystem.out.println(bu.length);// 1bu.insert(1,"B"); System.out.println("bu2:"+ bu2);// ABbu.insert(2,true); System.out.println(bu);// ABtrueSystem.out.println("bu字符串缓冲区的长度为:"+ bu.length);// 6System.out.println("bu字符串缓冲区的容量大小为:"+ bu.capacity());//16Student student =newStudent(); student.setName("小王"); student.setAge("10"); bu.insert(6,student); System.out.println(bu.length);// 36System.out.println(bu);// ABtruecom.zhiyou200.Student@1540e19dSystem.out.println(bu.capacity);// 36 }publicclassStudent{privateintage;privateString name;publicintgetAge(){returnage; }publicvoidsetAge(intage){this.age = age; }publicStringgetName(){returnname; }publicvoidsetName(String name){this.name = name; }/* @Override
public String toString() {
return "Student{" +
"age=" + age +
", name='" + name + '\'' +
'}';
}*/}
如果你觉得文章还不错,可以关注转发哦,谢谢。