• StringBuffer


    StringBuffer
    1,是一个字符串缓冲区,其实就是一个容器。
    2,长度是可变,任意类型都行。注意:是将任意数据都转成字符串进行存储。

    解释一下可变长度(解释 StringBuffer 原理)

    假设StringBuffer维护了一个长度为8的数组,当长度超过8时,就会创建一个新的数组,前一个的数组的值复制到新的数组当中,,再满的时候,再复制


    3,容器对象提供很多对容器中数据的操作功能,比如:添加,删除,查找,修改。
    4,必须所有的数据最终变成一个字符串。

     和数组最大的不同就是: 

                1)数组存储完可以单独操作每一个元素,每一个元素都是独立的。
                 2)字符串缓冲区,所有存储的元素都被转成字符串,而且最后拼成了一个大的字符串。


    可变长度数组的原理:新建数组,并复制数组元素到新数组中。


    StringBuilder和StringBuffer的区别。

                      StringBuilder:非同步的。单线程访问效率高。
                      StringBuffer:同步的,多线程访问安全。


    package cn.itcast.api.stringbuffer;
    
    public class StringBufferDemo {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            /*
             * StringBuffer:
             * 1,是一个字符串缓冲区,其实就是一个容器。
             * 2,长度是可变,任意类型都行。注意:是将任意数据都转成字符串进行存储。
             * 3,容器对象提供很多对容器中数据的操作功能,比如:添加,删除,查找,修改。
             * 4,必须所有的数据最终变成一个字符串。
             * 和数组最大的不同就是:数组存储完可以单独操作每一个元素,每一个元素都是独立的。
             * 字符串缓冲区,所有存储的元素都被转成字符串,而且最后拼成了一个大的字符串。
             * 
             * 可变长度数组的原理:新建数组,并复制数组元素到新数组中。
             */
    
            //1,创建一个字符串缓冲区对象。用于存储数据。
            StringBuffer sb = new StringBuffer();
            
            //2,添加数据。不断的添加数据后,要对缓冲区的最后的数据进行操作,必须转成字符串才可以。
            String str = sb.append(true).append("hehe").toString();
    //        sb.append("haha");
            
    //        sb.insert(2, "it");//插入
            
    //        sb.delete(1, 4);//删除
            
    //        sb.replace(1, 4, "cast");
    //        sb.setLength(2);
            System.out.println(sb);
            
            
    //        String s = "a"+5+'c';//原理就是以下这句
    //        s = new StringBuffer().append("a").append(5).append('c').toString();
            
            
            
        }
    
    }
    纸上学来终觉浅,觉知此事需躬行
  • 相关阅读:
    一些业内有名的网站收集
    WCF重载
    FCKEditor fckconfig.js配置,添加字体和大小 附:中文字体乱码问题解决
    查询第几条到第几条的数据的SQL语句
    SPOJ 9939 Eliminate the Conflict
    UVA 10534 Wavio Sequence
    HDU 3474 Necklace
    POJ 2823 Sliding Window
    UVA 437 The Tower of Babylon
    UVA 825 Walking on the Safe Side
  • 原文地址:https://www.cnblogs.com/dreamHighMjc/p/7446403.html
Copyright © 2020-2023  润新知