Java成神路 —— StringBuilder

2023-05-07 17:09:26 浏览数 (3)

1. StringBuilder类概述

  • StringBuilder是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是 StringBuilder 对象中的内容是可变的

2. StringBuilder类和String类的区别

  • String类:内容是不可变的
  • StringBuilder类:内容是可变的

3. StringBuilder类的构造方法

  • 常用的构造方法

方法名

说明

public StringBuilder()

创建一个空白可变字符串对象,不含有任何内容

public StringBuilder(String str)

根据字符串的内容,来创建可变字符串对象

  • 示例代码
代码语言:javascript复制
public class Demo {
    public static void main(String[] args) {
        
        //public StringBuilder():创建一个空白可变字符串对象,不含有任何内容
        StringBuilder sb = new StringBuilder();
        System.out.println("sb:"   sb);
        System.out.println("sb.length():"   sb.length());
        
        //public StringBuilder(String str):根据字符串的内容,来创建可变字符串对象
        StringBuilder sb2 = new StringBuilder("hello");
        System.out.println("sb2:"   sb2);
        System.out.println("sb2.length():"   sb2.length());
    }
}

4. StringBuilder类添加和反转方法

  • 添加和反转方法

方法名

说明

public StringBuilder append(任意类型)

添加数据,并返回对象本身

public StringBuilder reverse()

返回相反的字符序列

  • 示例代码
代码语言:javascript复制
public class Demo {
    public static void main(String[] args) {
    
        //创建对象
        StringBuilder sb = new StringBuilder();

        //链式编程
        sb.append("hello").append("world").append("java").append(100);
        
        System.out.println("sb:"   sb);
        
        //public StringBuilder reverse():返回相反的字符序列
        sb.reverse();
        
        System.out.println("sb:"   sb);
    }
}

5. StringBuilder和String相互转换

  • StringBuilder 转换为 String public String toString():通过 toString() 就可以实现把 StringBuilder 转换为 String
  • String 转换为 Stri ngBuiIder public StringBuilder(String s):通过构造方法就可以实现把 String 转换为 StringBuilder
  • 示例代码:
代码语言:javascript复制
//StringBuilder 转换为 String
        StringBuilder sb = new StringBuilder();
        sb.append("hello");

        //String s = sb; //这个是错误的做法
        //public String toString():通过 toString() 就可以实现把 StringBuilder 转换为 String
        String s = sb.toString();



//String 转换为 StringBuilder
        String s = "hello";
        
       //这个是错误的做法
       // StringBuilder sb = s; 
        
        //public StringBuilder(String s):通过构造方法就可以实现把 String 转换为StringBuilder
        StringBuilder sb = new StringBuilder(s);

0 人点赞