• 非零基础自学Java (老师:韩顺平) 第13章 常用类 13.5 StringBuffer类


    非零基础自学Java (老师:韩顺平)

    ✈【【零基础 快速学Java】韩顺平 零基础30天学会Java】

    第13章 常用类

    13.5 StringBuffer类
    13.5.1 基本介绍

    java.lang.StringBuffer代表可变的字符序列,可以对字符串内容进行增删。

    很多方法与String相同,但StringBuffer是可变长度的。

    StringBuffer是一个容器。

    【举个栗子】

    package com.dingjiaxiong.stringbuffer_;
    
    /**
     * ClassName: StringBuffer01
     * date: 2022/9/4 16:38
     *
     * @author DingJiaxiong
     */
    
    public class StringBuffer01 {
        public static void main(String[] args) {
            StringBuffer stringBuffer = new StringBuffer("Hello");
            System.out.println(stringBuffer);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    运行结果

    在这里插入图片描述

    13.5.2 String VS StringBuffer
    • String保存的是字符串常量,里面的值不能更改,每次String类的更新实际上就是更改地址,效率较低 //private final char value[ ];
    • StringBuffer保存的是字符串变量,里面的值可以更改,每次StringBuffer的更新实际上可以更新内容,不用每次更新地址,效率较高 //char[ ] value; //这个放在堆.
    13.5.3 String 和 StringBuffer 相互转换

    【举个栗子】

    package com.dingjiaxiong.stringbuffer_;
    
    /**
     * ClassName: StringAndStringBuffer
     * date: 2022/9/4 16:41
     *
     * @author DingJiaxiong
     */
    
    public class StringAndStringBuffer {
        public static void main(String[] args) {
            //String → StringBuffer
            String str = "Hello tom";
            //方式1,使用构造器
            StringBuffer stringBuffer = new StringBuffer(str);
            //方式2,使用append方法
            StringBuffer stringBuffer1 = new StringBuffer();
            stringBuffer1 = stringBuffer1.append(str);
            
            
            //StringBuffer → String
            StringBuffer stringBuffer2 = new StringBuffer("韩老师666");
            //方式1,使用StringBuffer提供的toString方法
            String s = stringBuffer2.toString();
            //方式2,使用构造器来搞定
            String s1 = new String(stringBuffer2);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    13.5.4 StringBuffer 类常见方法

    【举个栗子】

    package com.dingjiaxiong.stringbuffer_;
    
    /**
     * ClassName: StringBufferMethod
     * date: 2022/9/4 16:45
     *
     * @author DingJiaxiong
     */
    
    public class StringBufferMethod {
        public static void main(String[] args) {
            StringBuffer s = new StringBuffer("hello");
    
            //增
            s.append(',');
            s.append("张三丰");
            s.append("赵敏").append(100).append(true).append(10.5);
            System.out.println(s);
    
            //删
            //删除 >= start && < end处的字符
            s.delete(11 , 14);
            System.out.println(s);
    
            //改
            s.replace(9,11,"周芷若");
            System.out.println(s);
    
            //查
            //查找指定的子串在字符串第一次出现的索引,如果找不到返回-1
            int indexOf = s.indexOf("张三丰");
            System.out.println(indexOf);
    
            //插
            s.insert(9,"赵敏");
            System.out.println(s);
            
            //长度
            System.out.println(s.length());
            System.out.println(s);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    运行结果

    在这里插入图片描述

  • 相关阅读:
    解决STM32F429烧录程序后还需复位才能植入程序的bug
    elementui的table组件如何显示图片
    vuex状态管理(二)超级详细使用教程(包含辅助函数map的使用),一看就会,一学就懂
    Oracle使用遇到的问题
    Oracle/PLSQL: Sinh Function
    一文学会JavaScript计时事件
    【1 操作系统概述】
    H5/CSS 笔试面试考题(101-110)
    Nginx
    Acwing-反转链表
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/126926297