黑马程序员技术交流社区
标题: Java_常用对象_StringBuffer(1) [打印本页]
作者: 15732622419 时间: 2016-7-26 22:42
标题: Java_常用对象_StringBuffer(1)
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());
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |