StringBuilder概述

3 StringBuilder类

3.1 StringBuilder类概述

概述 : StringBuilder 是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是 StringBuilder 对象中的内容是可变的,线程是不安全的
作用:提高字符串的操作效率

import domain.Student;

import java.util.Scanner;

public class Stringtest {

    /*
    String类常见构造方法:

        public String() : 创建一个空白字符串对象,不含有任何内容
        public String(char[] chs) : 根据字符数组的内容,来创建字符串对象
        public String(String original) : 根据传入的字符串内容,来创建字符串对象
        String s = “abc”;  直接赋值的方式创建字符串对象,内容就是abc

     注意:
            String这个类比较特殊, 打印其对象名的时候, 不会出现内存地址
            而是该对象所记录的真实内容.

            面向对象-继承, Object类
 */
    public static void main(String[] args) {

        //method();
        long start = System.currentTimeMillis();

        StringBuilder stringBuilder = new StringBuilder();

        for (int i = 1; i <= 50000 ; i++) {
            stringBuilder.append(i);
        }

        //System.out.println(stringBuilder);

        long end = System.currentTimeMillis();

        System.out.println(end-start); //4
    }

    public static void method(){
        long start = System.currentTimeMillis();

        System.out.println(start);

        String s = "";

        for (int i = 1; i <=50000 ; i++) {
            s += i;
        }

        long end = System.currentTimeMillis();

        System.out.println(end-start); ///4113
    }
}

3.2 StringBuilder类和String类的区别

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

3.3StringBuilder类的构造方法

常用的构造方法

方法名说明
public StringBuilder()创建一个空白可变字符串对象,不含有任何内容
public StringBuilder(String str)根据字符串的内容,来创建可变字符串对象

示例代码

StringBuilder stringBuilder = new StringBuilder();
System.out.println(stringBuilder); /// 为空 新建16长度 不包含任何内容

StringBuilder abc = new StringBuilder("abc"); //abc 根据字符串的内容,来创建可变字符串对象

System.out.println(abc);

3.4 StringBuilder常用的成员方法

  • 添加和反转方法

    方法名说明
    public StringBuilder append(任意类型)添加数据,并返回对象本身
    public StringBuilder reverse()返回相反的字符序列

3.5StringBuilder和String相互转换【应用】

  • StringBuilder转换为String

    ​ public String toString():通过 toString() 就可以实现把 StringBuilder 转换为 String

  • String转换为StringBuilder

    ​ public StringBuilder(String s):通过构造方法就可以实现把 String 转换为 StringBuilder

StringBuilder stringBuilder = new StringBuilder();

stringBuilder.append(123);
stringBuilder.append("abc");
stringBuilder.append(true);
System.out.println(stringBuilder); //123abctrue 全部变成字符串数据

StringBuilder stringBuilder1 = new StringBuilder();
stringBuilder1.append("红色");
System.out.println(stringBuilder1); //红色
stringBuilder1.append("蓝色");
System.out.println(stringBuilder1); //红色蓝色
stringBuilder1.append("绿色");
System.out.println(stringBuilder1); //红色蓝色绿色
   StringBuilder stringBuilder = new StringBuilder();
    StringBuilder stringBuilder1 = stringBuilder.append("红色");
    StringBuilder stringBuilder2 = stringBuilder.append("蓝色");
    StringBuilder stringBuilder3 = stringBuilder.append("绿色");
    System.out.println(stringBuilder1); //红色蓝色绿色
    System.out.println(stringBuilder2); //红色蓝色绿色
    System.out.println(stringBuilder3); //红色蓝色绿色

    System.out.println(stringBuilder == stringBuilder2); // true
    System.out.println(stringBuilder2 == stringBuilder3); // true

链式编程:如果一个方法返回的是对象类型,对象就可以继续向下调用方法

StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("红色").append("蓝色").append("绿色");
System.out.println("反转前:"+stringBuilder); //反转前:红色蓝色绿色

stringBuilder.reverse();

System.out.println("反转后:"+stringBuilder); //反转后:色绿色蓝色红

System.out.println("sb中字符串的个数为:"+stringBuilder.length()); //6

String string = stringBuilder.toString();
System.out.println(string); //色绿色蓝色红
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值