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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 15732622419 中级黑马   /  2016-7-26 22:42  /  233 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

StringBuffer类的概述:
                线程安全的可变字符序列        
StringBuffer和String的区别:
                String是一个不可变的字符序列
                StringBuffer是一个可变的字符序列
StringBuffer类的常用方法:
        构造方法:
                        public StringBuffer():无参构造方法
                        public StringBuffer(int capacity):指定容量的字符串缓冲区对象
                        public StringBuffer(String str):指定字符串内容的字符串缓冲区对象
        StringBuffer的方法:
                        public int capacity():返回当前容量(理论值)
                        public int length():返回长度(字符数)
案例一:
public class Demo1_StringBuffer {
         publicstatic void main(String[] args) {
                   StringBuffersb = new StringBuffer();
                   System.out.println(sb.length());//容器中的字符个数,实际值
                   System.out.println(sb.capacity());//容器中的初始容量,理论值
                  
                   StringBuffersb2 = new StringBuffer(10);
                   System.out.println(sb2.length());
                   System.out.println(sb2.capacity());
                  
                   StringBuffersb3 = new StringBuffer("haha");
                   System.out.println(sb3.length());
                   System.out.println(sb3.capacity());
         }
}
添加功能:
         public StringBuffer append(String str):可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身
         public StringBuffer insert(intoffset,String str):在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身。
案例二:
/**
*   StringBuffer是字符串缓冲区,new的时候是在堆内存创建了一个对象,
*   底层是一个长度为16的字符数组
         当调用添加的方法时,不会再重新创建对象,在不断向原缓冲区添加字符
*/
public class Demo2_StringBuffer {
         publicstatic void main(String[] args) {
                   demo1();
         }
         privatestatic void demo1(){
                   StringBuffersb =new StringBuffer();
                   StringBuffersb2  = sb.append(true);
                   StringBuffersb3 = sb.append("HelloWorld");
                   StringBuffersb4= sb.append(100);
                  
                   System.out.println(sb.toString());
                   //StringBuffer类中重写了toString的方法,显示的是对象中的属性值
                   System.out.println(sb2.toString());
                   System.out.println(sb3.toString());
                   System.out.println(sb4.toString());
                  
                  
         }
}

0 个回复

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