Java--常用类

Java–常用类

一、StringBuffer

1.1 概述

  • 线程安全的可变字符序列。
  • 一个类似于 String 的字符串缓冲区,但能修改。
  • 但通过某些方法调用可以改变该序列的长度和内容。

1.2 创建对象

public class Demo04 {
   
    public static void main(String[] args) {
   
        /**
            构造方法摘要 
                StringBuffer() 
                          构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。 
                StringBuffer(int capacity) 
                          构造一个不带字符,但具有指定初始容量的字符串缓冲区。 
                StringBuffer(String str) 
                          构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。 
         */
        
        //  构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。 
        StringBuffer buffer01 = new StringBuffer();
        System.out.println(buffer01.length());
        System.out.println(buffer01.capacity());
        
        // 构造一个不带字符,但具有指定初始容量的字符串缓冲区。 
        StringBuffer buffer02 = new StringBuffer(1024);
        System.out.println(buffer02.length());
        System.out.println(buffer02.capacity());
        
        // 构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。 
        StringBuffer buffer03 = new StringBuffer("abcdefg");
        System.out.println(buffer03.length());
        System.out.println(buffer03.capacity());
    }
}

1.3 常用方法

增加数据
public class Demo05 {
   
    public static void main(String[] args) {
   
        /**
         * 方法摘要 
         * 增
             StringBuffer append(Object obj) 
                      追加 Object 参数的字符串表示形式。 
             StringBuffer insert(int offset, Object obj) 
                      将 Object 参数的字符串表示形式插入此字符序列中。 
         */
        
        // 空的字符串缓冲区,内容为0,容量16
        StringBuffer buffer = new StringBuffer();
        
        buffer.append("Hello");
        System.out.println(buffer.length());
        System.out.println(buffer.capacity());
        
        buffer.append(true);
        System.out.println(buffer.length());
        System.out.println(buffer.capacity());
        
        buffer.append(3.14);
        System.out.println(buffer.length());
        System.out.println(buffer.capacity());
        
        // 在指定位置插入元素
        buffer.insert(1, 222);
        System.out.println(buffer);
        System.out.println(buffer.length());
        System.out.println(buffer.capacity());
        
        /**
         *  扩容:
         *      ensureCapacityInternal(count + len);    确保容量
         *          newCapacity(minimumCapacity)        计算容量
         *          默认扩容:   int newCapacity = (value.length << 1) + 2;
         *          默认扩容不足:
         *              如果没有超过MAX_ARRSY_SIZE,扩容到需要的容量
         *              如果超过MAX_ARRSY_SIZE,没有超过Integer.MAX,扩容需要的容量
         *              如果超过Integer.MAX,报错OutOfMemoryError
         */
        buffer.append("01234567890123456789");
        System.out.println(buffer.length());
        System.out.println(buffer.capacity());
        
    }
}
删改查数据
public class Demo06 {
   
    public static void main(String[] args) {
   
        /**
         *       
         * 删
             StringBuffer delete(int start, int end) 
                      移除此序列的子字符串中的字符。 
             StringBuffer deleteCharAt(int index) 
                      移除此序列指定位置的 char。 
         
         * 改
             void ensureCapacity(int minimumCapacity) 
                      确保容量至少等于指定的最小值。 
             StringBuffer replace(int start, int end, String str) 
                      使用给定 String 中的字符替换此序列的子字符串中的字符。 
             StringBuffer reverse() 
                      将此字符序列用其反转形式取代。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值