zoukankan      html  css  js  c++  java
  • Java学习笔记之:Java StringBuffer类

    一、引言

    当对字符串进行修改的时候,需要使用StringBuffer类。

    和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未用对象。

    二、StringBuffer 方法

     以下是StringBuffer类支持的主要方法:

    序号方法描述
    1 public StringBuffer append(String s)
    将指定的字符串追加到此字符序列。
    2 public StringBuffer reverse()
     将此字符序列用其反转形式取代。
    3 public delete(int start, int end)
    移除此序列的子字符串中的字符。
    4 public insert(int offset, int i)
    将 int 参数的字符串表示形式插入此序列中。
    5 replace(int start, int end, String str)
    使用给定 String 中的字符替换此序列的子字符串中的字符。

    三、笔记

    package com.hgd.study6.other;
    
    /**
     * 
     * stringbffer 字符串缓冲类,可变长度的字符串,对它的操作就是对内存的操作,字符串本身和返回的结果一样
     * 
     * 在使用字符串拼接的时候stringbuffer的性能要比string的性能要好,stringbuffer采用的是append方法
     * string采用的是加连接
     * @author HuTiger
     *
     */
    public class StringAndStingBuffer {
    
        public static void main(String[] args) {
            String s1 = "abc";
            System.out.println(s1);
            String s2 = "abc";
            System.out.println(s2);
    
            StringBuffer sb1 = new StringBuffer("abc");
            System.out.println(sb1);// 隐式的调用了tosring方法
            // 当直接输出对象的时候,相当于输出了对象的.tostring
            StringBuffer sb2 = new StringBuffer("abc");
            System.out.println(sb2);
    
            System.out.println(s1 + "d");
    
            System.out.println(sb1.append("d"));
            System.out.println(s1);// 字符串长度不可变
            System.out.println(sb1);// 操控的是内存,又叫做可变长度的字符串
            String s = "a";
            StringBuffer sb = new StringBuffer("a");
            String str = s + "b";
    
            StringBuffer sbr = sb.append("b");
            System.out.println(str);// ab
            System.out.println(sbr);// ab
    
            /*
             * 性能比较,字符串拼接的测试
             */
    
            // 字符串
            String string = "A";
            long start = System.currentTimeMillis();
            for (int i = 0; i < 100; i++) {
                s += "B";
            }
            long end = System.currentTimeMillis();
            System.out.println(end - start);
    
            StringBuffer stringBuffer = new StringBuffer();
            start = System.currentTimeMillis();
            for (int i = 0; i < 100; i++) {
                stringBuffer.append("B");
            }
            end = System.currentTimeMillis();
            System.out.println(end - start);
            System.out.println(string.equals(stringBuffer.toString()));
        }
    }
  • 相关阅读:
    Mac idea 打不开
    git学习之git reset命令
    更改 macOS 用户帐户和个人文件夹的名称
    SpringBoot系列: 如何优雅停止服务
    windows环境下启动mongodb服务
    rocketMq4.2.0启动broker报错找不到或无法加载主类 FilesJavajdk1.8.0_101libdt.jar;C:Program]
    初创公司与成熟的公司各有什么利弊?有5年工作经验的人适合进那一个?(行业职位是一样的情况下)
    mac 10.15 国内如何安装brew
    Mac下SSH Key配置
    买苹果MacBook Pro ,有必要买care吗?
  • 原文地址:https://www.cnblogs.com/huguodong/p/5892699.html
Copyright © 2011-2022 走看看