A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 磊子 中级黑马   /  2015-9-13 22:43  /  236 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

StringBuffer:
        概述:线程安全的可变字符序列。
        补充:String是一个不可变的字符序列。
        记忆:
                线程安全,效率就低,线程不安全,效率就高。

        构造方法:
                StringBuffer();  //用到的比较多,理论长度是:16
                StringBuffer(int capacity);
                StringBuffer(String str);

        成员方法:
                public int capacity(); 理论值,初始容量。   //一般不用
                public int length();   实际值,实际的字符个数。


          添加:
                        public StringBuffer append(String str);   可以把任意类型的数据添加到缓冲区中,并且返回缓冲区本身
                        public StringBuffer insert(int index,String str);

                注意:
                        StringBuffer是一个字符串缓冲区,当new的时候才回去堆中创建一个对象,其实底层它是一个长度为16的字符数组。当调用添加方法的时候,不会再创建StringBuffer对象,而是直接往缓冲区添加。

                应用示例:
                        StringBuffer  sb = new StringBuffer();
                        sb.append(132);
                        sb.append("zs");
                        sb.append(true);
          删除:
                public StringBuffer deleteCharAt(int index);   删除指定位置的元素,并返回缓冲区本身。
                public StringBuffer delete(int strat,int end);  包左不包右。

          替换和反转:
                public StringBuffer replace(int start,int end,String str); 把start到end之间的数据(包左不包右),用str来替换。

                public StringBuffer reverse();  反转。

          截取:
                public String substring(int start);   //从指定位置截取到末尾
                public String substring(int start,int end);   //截取指定区间的数据,包左不包右。
                注意:这两个方法返回的不在是StringBuffer本身了。

                练习:
                        1、创建一个StringBuffer对象,
                        2、往里边添加数据,分别添加:wo,ai,heima这三个元素。
                        3、然后从中截取出 hei 这个字符。


        String和StringBuffer的相互转换:
                String  ---》  StringBuffer
                        1、构造方法。       //比较常用
                        2、append()方法。
                StringBuffer --》 String
                        1、构造方法。
                        2、toString();   //比较常用。
                        3、substring();  //不常用


                练习:
                        已知数组:int[] arr = {1,2,3};
                        把数组转成如下格式:“[1, 2, 3]”,StringBuffer

                        做完的同学,思考:
                                键盘录入一个数据,然后反转输出,怎么实现?
                                示例:
                                        输入: abc   打印结果为: cba

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马