用户登录
用户注册

分享至

StringBuilder简介

  • 作者: 北京夜场模特领队
  • 来源: 51数据库
  • 2021-10-11

StringBuilder

构造方法:

public StringBuilder(): 构造一个不带任何字符的字符串生成器,其初始容量为16个字符

public StringBuilder(String str):构造一个字符串生成器,并初始化为指定的字符串内容

常用方法:

public StringBuilder append(…): 添加任意类型数据的字符串形式,并返回当前对象本身

public class StringBuilderDemo{
    public static void main(String[] args){
        StringBuilder stringBuilder = new StringBuilder();
        // 使用append方法往字符串缓冲区添加数据
        // append方法返回的是this
        String 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
        
    }
}

StringBuilder可以和String进行相互转换

String --> StringBuilder:可以使用StringBuilder的带参构造方法

StringBuilder(String str):构造一个字符串生成器,并初始化为指定的字符串内容

StringBuilder–>String:可以使用StringBuilder类中的toString()方法

public String toString(): 将当前的StringBuilder对象转换成String对象

public class StringBuilderDemo01{
    public static void main(String[] args){
        // String -- > StringBuilder
        String str = "Hello World";
        StringBuilder bu = new StringBuilder(str);
        // 添加一些数据
        bu.append("---Java");
        System.out.println("bu:" + bu);
        
        // StringBuilder --> String
        String s = bu.toString();
        System.out.println("s:" + s);
        
    }
}

public StringBuilder insert(int offset,…)根据指定的位置插入任意类型数据的字符串形式;不管存储什么类型的数据,进入到字符串缓冲区都变成了字符串值。

public class StringBuilderDemo02{
    // 构建StringBuilder对象
    String bu = new StringBuilder();
    System.out.println("长度为:" + bu.length); // 0 
    // 调用insert方法
    StringBuilder bu2 = bu.insert(0,"A");
    System.out.println(bu2); // A
    System.out.println(bu == bu2); // true
    System.out.println(bu.length); // 1
    
    bu.insert(1,"B");
    System.out.println("bu2:" + bu2); // AB
    bu.insert(2,true);
    System.out.println(bu); // ABtrue
    System.out.println("bu字符串缓冲区的长度为:" + bu.length); // 6
    System.out.println("bu字符串缓冲区的容量大小为:" + bu.capacity()); //16
    
    Student student = new Student();
    student.setName("小王");
    student.setAge("10");
    bu.insert(6,student);
    System.out.println(bu.length); // 36
    System.out.println(bu); // ABtruecom.zhiyou200.Student@1540e19d
    System.out.println(bu.capacity); // 36 
}



public class Student {
    private int age;
    private String name;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

   /* @Override
    public String toString() {
        return "Student{" +
                "age=" + age +
                ", name='" + name + '\'' +
                '}';
    }*/
}
软件
前端设计
程序设计
Java相关