zoukankan      html  css  js  c++  java
  • Java——StringBuilder

    概述

    StringBuilder是一个可变的字符串类,我们可以把它看成是一个容器。

    作用

    可以提高字符串的操作效率。

    比如我拼接一个字符串,进行50000次,看看耗时需要多久,经过测试,是4秒多,如下

    long start = System.currentTimeMillis();
    String s = "1";
    for (int i = 0; i < 50000; i++) {
        s += i;
    }
    System.out.println(s);
    long end = System.currentTimeMillis();
    System.out.println(end - start);   // 4818
    

    使用StringBuilder改造后如下,效率有很大提高,仅需14毫秒

    long start = System.currentTimeMillis();
    StringBuilder s = new StringBuilder("1");
    for (int i = 0; i < 50000; i++) {
        s.append(i);
    }
    System.out.println(s);
    long end = System.currentTimeMillis();
    System.out.println(end - start);   // 14
    

    常见的构造方法 

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

    常见的成员方法

    append

    添加数据,并返回对象本身,它这个方法接收的参数可以是任何数据类型,使用方式如下

    StringBuilder sb = new StringBuilder();
    sb.append("hello");
    sb.append(" world ");
    sb.append(true);
    System.out.println(sb);   // hello world true
    

    由于append这个方法返回的是对象本身,因此它支持链式编程,如下

    StringBuilder str = new StringBuilder();
    str.append("红").append("黄").append("蓝");
    System.out.println(str);   // 红黄蓝
    

    reverse

    返回相反的字符序列,使用方式如下

    StringBuilder sb = new StringBuilder("hello world");
    sb.reverse();
    System.out.println(sb);   // dlrow olleh
    

    length

    返回长度(字符出现的个数)

    StringBuilder sb = new StringBuilder("hello world");
    System.out.println(sb.length());   // 11
    

    toString

    通过toString就可以实现把StringBuilder转换为String

    StringBuilder sb = new StringBuilder("hello world");
    String str = sb.toString();
    System.out.println(str);   // hello world
    

    StringBuilder与String的区别

    • String:内容是不可变的

    • StringBuilder:内容是可变的 

  • 相关阅读:
    (兼容)IE9 以下版本浏览器兼容HTML5的方法
    使用ORACLE 中ROWNUM方法实现数据库分批获取
    更新上传到github的代码
    Spring-AOP
    C++结构体的应用_YCOJ
    基本类型数据封装
    sessionStorage 封装
    Vue国际化四 -- 本地缓存
    Vue国际化三【在下拉框中使用】
    Vue国际化二 【在表格中的使用】
  • 原文地址:https://www.cnblogs.com/xulinjun/p/14704209.html
Copyright © 2011-2022 走看看