• 字符串缓冲


    一、StringBuffer

    1、概念

    StringBuffer又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。

    2、方法

    演示:

    创建一个字符串缓冲区对象。用于存储数据。
    StringBuffer sb = new StringBuffer();
    sb.append("haha"); //添加字符串
    sb.insert(2, "it");//在指定位置插入
    sb.delete(1, 4);//删除
    sb.replace(1, 4, "cast");//替换指定范围内的内容
    String str = sb.toString();

    注意:

    append、delete、insert、replace、reverse方法调用后,返回值都是当前对象自己,所以说,StringBuffer它可以改变字符序列的长度和内容。

     其他:

    public static void main(String[] args) {
            StringBuffer buffer=new StringBuffer("you");
            System.out.println(buffer);
            StringBuffer buffer1=new StringBuffer();
            System.out.println(buffer1);
            //追加
            buffer.append(" are");
            buffer.append(" beautifal ");
            buffer.append(true);
            buffer.append(56);
            System.out.println(buffer);
            //delate包头不包尾
            buffer.delete(3, 14);
            System.out.println(buffer);
            //插入
            buffer.insert(3, " are beauti");
            System.out.println(buffer);
            //替换(包头不包尾)
            buffer.replace(0, 10, " haha ");
            System.out.println(buffer);
            //反转
            buffer.reverse();
            System.out.println(buffer);
            //转成字符串
            String str=buffer.toString();//转成字符串
            System.out.println(str);
            StringBuffer buffer2=new StringBuffer(str);//转回buffer
        }

    练习:

    public static String toString_2(int[] arr) {
            StringBuffer sb = new StringBuffer();        
            sb.append("[");
            for (int i = 0; i < arr.length; i++) {
                if(i!=arr.length-1){
                    sb.append(arr[i]+",");
                }else{
                    sb.append(arr[i]+"]");
                }
            }        
            return sb.toString();
        }

    二、StringBuilder

    StringBuilder和StringBuffer的区别

    StringBuilder它也是一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。

    该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。

    如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。

    但是,StringBuilder较StringBuffer,安全程度要低。

  • 相关阅读:
    相对路径与绝对路径的区别
    c语言 蛇形填空
    Java最大公约数 最小公倍数
    c语言 韩信点兵
    c语言倒三角形
    Java 分解质因数
    Java 求水仙花数
    Java 求素数
    Java基于OpenCV实现走迷宫(图片+路线展示)
    Java之函数式接口@FunctionalInterface详解(附源码)
  • 原文地址:https://www.cnblogs.com/Ace-suiyuan008/p/9394815.html
Copyright © 2020-2023  润新知