栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java学习笔记——StringBuffer类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java学习笔记——StringBuffer类

目录

一、StringBuffer 的特点

二、StringBuffer 的构造方法

三、StringBuffer 的常用方法

四、代码

Java中处理字符串常用的三个类分别为:String、StringBuffer、StringBuilder

本文将对 StringBuffer 类进行简单的介绍。

一、StringBuffer 的特点
  • StringBuffer 类的对象可被多次修改,且对 StringBuffer 对象本身操作;
  • StringBuffer 类使用 synchronized 同步修饰方法,线程安全。

二、StringBuffer 的构造方法
  • StringBuffer():构造一个没有字符的字符串缓冲区,初始容量为16字符;
  • StringBuffer(String str):构造一个初始化为指定内容的字符串缓冲区;
  • StringBuffer(int capacity):构造一个没有字符的字符串缓冲区和指定的初始容量;

代码实例1 

// 构造一个没有字符的字符串缓冲区,初始容量为16
StringBuffer sb1 = new StringBuffer();
System.out.println(sb1.capacity()); // 16
System.out.println(sb1.length()); // 0

// 构造一个指定字符串的字符串缓冲区,容量 = 16(初始容量) + 字符串长度
StringBuffer sb2 = new StringBuffer("Java");
System.out.println(sb2.capacity()); // 20 = 16 + 4
System.out.println(sb2.length());  // 4

// 构造指定容量的字符串缓冲区
StringBuffer sb3 = new StringBuffer(12);
System.out.println(sb3.capacity()); // 12
System.out.println(sb3.length()); // 0

三、StringBuffer 的常用方法
  • append(): 追加,在字符串末尾添加;
  • delete():删除,删除指定索引处的字符;
  • replace():替换,用指定的String中的字符替换子字符串中的String;
  • reverse():反转;
  • substring():截取返回一个新的 String,它包含此序列当前所包含的字符子序列
  • insert():插入,指定位置插入字符串;

代码实例2

StringBuffer str1 = new StringBuffer("I love ");

// append(): 追加
System.out.println("append()前str1: " + str1);  // I love
str1.append("Java!");
System.out.println("append()后str1: " + str1);  // I love Java!

// delete(): 删除
System.out.println("delete()前str1: " + str1);  // I love Java!
str1.delete(3, 5);
System.out.println("delete()后str1: " + str1);  // I le Java!

// replace(): 替换
System.out.println("replace()前str1: " + str1);  // I le Java!
str1.replace(1, 4, "*******");
System.out.println("replace()后str1: " + str1);  // I******* Java!

// reverse(): 反转
System.out.println("reverse()前str1: " + str1);  // I******* Java!
str1.reverse();
System.out.println("reverse()后str1: " + str1);  // !avaJ *******I

// substring(): 截取
System.out.println("substring()前str1: " + str1);  // !avaJ *******I
String str2 = str1.substring(3, 8);
System.out.println("substring()后str1: " + str2);  // aJ **

// insert(): 插入
System.out.println("insert()前str1: " + str1);  // !avaJ *******I
str1.insert(3, "hahaha");
System.out.println("insert()后str1: " + str1);  // !avhahahaaJ *******I

输出结果2 

四、代码
public class day8 {
    public static void main(String[] args){
        
        // 构造一个没有字符的字符串缓冲区,初始容量为16
        StringBuffer sb1 = new StringBuffer();
        System.out.println(sb1.capacity()); // 16
        System.out.println(sb1.length()); // 0

        // 构造一个指定字符串的字符串缓冲区,容量 = 16(初始容量) + 字符串长度
        StringBuffer sb2 = new StringBuffer("Java");
        System.out.println(sb2.capacity()); // 20 = 16 + 4
        System.out.println(sb2.length());  // 4

        // 构造指定容量的字符串缓冲区
        StringBuffer sb3 = new StringBuffer(12);
        System.out.println(sb3.capacity()); // 12
        System.out.println(sb3.length()); // 0

        
        StringBuffer str1 = new StringBuffer("I love ");

        // append(): 追加
        System.out.println("append()前str1: " + str1);  // I love
        str1.append("Java!");
        System.out.println("append()后str1: " + str1);  // I love Java!

        // delete(): 删除
        System.out.println("delete()前str1: " + str1);  // I love Java!
        str1.delete(3, 5);
        System.out.println("delete()后str1: " + str1);  // I le Java!

        // replace(): 替换
        System.out.println("replace()前str1: " + str1);  // I le Java!
        str1.replace(1, 4, "*******");
        System.out.println("replace()后str1: " + str1);  // I******* Java!

        // reverse(): 反转
        System.out.println("reverse()前str1: " + str1);  // I******* Java!
        str1.reverse();
        System.out.println("reverse()后str1: " + str1);  // !avaJ *******I

        // substring(): 截取
        System.out.println("substring()前str1: " + str1);  // !avaJ *******I
        String str2 = str1.substring(3, 8);
        System.out.println("substring()后str1: " + str2);  // aJ **

        // insert(): 插入
        System.out.println("insert()前str1: " + str1);  // !avaJ *******I
        str1.insert(3, "hahaha");
        System.out.println("insert()后str1: " + str1);  // !avhahahaaJ *******I
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/851173.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号