• StringBuffer类的常用方法


    一、创建StringBuffer类 
    1. 
    StringBuffer 是线程安全 ( 耗费资源) 的 可变序列 
    StringBuilder 是 线程不安全(不耗费资源)的 可变序列 
    2. 
    创建一个新的StringBuffer对象一定要用到new方法,不能和string一样直接引用字符串常量

    1 private static void fun1() {
    2         // 构造方法初始化StringBuffer
    3         StringBuffer sb = new StringBuffer();
    4         // 打印当前的容量(理论值)
    5         System.out.println(sb.capacity());// 16
    6         // 打印长度(实际值)
    7         System.out.println(sb.length());// 0
    8         // 打印内容
    9         System.out.println(sb.toString());

    3.1 添加 append(): 
    append(可以添加多种类型 包括基本数据类型); 
    例如:String、int、double、Boolean等,都可以转变成字符串表示形式。

     1 private static void fun1() {
     2         // StringBufferr 的长度是可以变的
     3         // 对StringBufferr操作的时候 改变的是其本身
     4         StringBuffer sb1 = new StringBuffer();
     5         System.out.println(sb1);
     6 
     7         sb1.append("wukong").append("z").append("n");
     8         sb1.append("z");
     9         sb1.append("n");
    10 
    11         System.out.println(sb1);

    3.2 插入insert(): 
    setCharAt(int index , char ch)方法 
    将索引处的字符修改为ch.

     1 private static void fun3() {
     2         StringBuffer sb = new StringBuffer();
     3         // 设置长度(一般用不上)
     4         // sb.setLength(10);
     5         // 按照下标去(偏移量)插入
     6         sb.insert(0, "wukong");
     7         // 把索引位置的字符替换掉
     8         sb.setCharAt(5,'p');
     9         sb.insert(6, 5);
    10         System.out.println(sb);
    11     }

    3.3删除delete( , ): 
    移除此序列的字符串中的字符,该子字符串是从指定的索引start处开始,一直到索引end - 1处,如果end - 1超出最大索引范围则一直到序列尾部。

    1 private static void fun4() {
    2             StringBuffer sb = new StringBuffer();
    3             sb.append("wukong");
    4             // 删(留头不留尾)
    5             sb.delete(0, 3);
    6             // 根据索引删除 索引位置的字符
    7             sb.deleteCharAt(2);
    8             System.out.println(sb);
    9         }

    3.4替换

    1 private static void fun5() {
    2             StringBuffer sb = new StringBuffer();
    3             sb.append("wukong");
    4             sb.replace(0, 4,"tian");
    5             System.out.println(sb);
    6         }
    3.5反转 

    把字符串反转 
    字符串 转到 StringBuffer 
    StringBuffer转字符串

    private static void fun7() {
                String string = "wukong";
                // 字符串--->字符串缓冲区
                StringBuffer sb = new StringBuffer(string);
                sb.reverse();
                // 反转后转回字符串
                string = sb.toString();
                System.out.println(string);
    
            }

    4、

    1 public static void main(String[] args) {
    2         // 测试字符串作为参数 值是否能发生改变
    3         /*
    4          * 虽然字符串是个对象类型 但作为参数的时候
    5          * 跟基本数据类型一样 相当于是值的传递
    6          */
    7         String string = "BaJie";
    8         fun10(string);
    9         System.out.println(string);

    5、 
    测试StringBuffer做为参数 值是否发生改变 
    * StringBuffer 是引用数据类型 
    * 作为参数 相当于地址的传递 在函数修改的部分 
    * 相当于在原字符串上 进行操作

    StringBuffer sb = new StringBuffer();
            sb.append("BaJie");
            fun11(sb);
            System.out.println(sb);
    }
    }
  • 相关阅读:
    poj 1061 (扩展欧几里德算法)
    字符串 (扫一遍 + 计数)
    快排 + 二分
    勾股定理
    WD
    Acmer--弱水三千,只取一瓢
    朱光潜给青年的十二封信 之 谈升学和选课
    朱光潜给青年的十二封信 之 谈读书
    小白书--求 n!
    N阶行列式---常见的几种运算
  • 原文地址:https://www.cnblogs.com/cb1186512739/p/9477394.html
Copyright © 2020-2023  润新知