——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
4.4 StringBuffer4.4.1 了解StringBuffer
SringBuffer:线程安全的可变字符串。跟String相比,使用StringBuffer做字符串的拼接不会浪费太多资源。
4.4.2 构造方法
public StringBuffer():无参构造方法
public StringBuffer(int capacity):指定容量的字符串缓冲区对象
public StringBuffer(String str):指定字符串内容的字符串缓冲区对象
两个常见的方法:
public int capacity():返回当前容量。理论值
public int length():返回长度(字符数)。 实际值
public class StringBufferDemo {public static void main(String[] args) {// public StringBuffer():无参构造方法StringBuffer sb = new StringBuffer();System.out.println("sb:" + sb);System.out.println("sb.length():" + sb.length());System.out.println("sb.capacity():" + sb.capacity());System.out.println("—————–");//public StringBuffer(int capacity):指定容量的字符串缓冲区对象StringBuffer sb2 = new StringBuffer(50);System.out.println("sb2:" + sb2);System.out.println("sb2.length():" + sb2.length());System.out.println("sb2.capacity():" + sb2.capacity());System.out.println("—————–");//public StringBuffer(String str):指定字符串内容的字符串缓冲区对象StringBuffer sb3 = new StringBuffer("hello");System.out.println("sb3:" + sb3);System.out.println("sb3.length():" + sb3.length());System.out.println("sb3.capacity():" + sb3.capacity());}} 运行结果:
4.4.3 部分方法1、添加功能
public StringBuffer append(String str):可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身,这里用String类型举例
public StringBuffer insert(int offset,String str):在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身,这里用String类型举例
public class StringDemo {public static void main(String[] args) {// 创建字符串缓冲区对象StringBuffer sb = new StringBuffer();// public StringBuffer append(String str)// StringBuffer sb2 = sb.append("hello");// System.out.println("sb:" + sb);// System.out.println("sb2:" + sb2);/* * sb.append("hello");* sb.append(true); * sb.append(123); */// 链式编程sb.append("hello").append(true).append(123);System.out.println("sb:" + sb);// public StringBuffer insert(int offset,String// str):在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身,这里用String类型举例sb.insert(5, "world");System.out.println("sb:" + sb);}} 运行结果:
2、删除功能
public StringBuffer deleteCharAt(int index):删除指定位置的字符,并返回本身
public StringBuffer delete(int start,int end):删除从指定位置开始指定位置结束的内容,并返回本身。包含上边界,不包含下边界
public class StringDemo {public static void main(String[] args) {StringBuffer sb = new StringBuffer();//添加功能sb.append("hello").append("world").append("java");System.out.println("sb:" + sb);//public StringBuffer deleteCharAt(int index):删除指定位置的字符,并返回本身//需求:我要删除“e”这个字符sb.deleteCharAt(1);System.out.println("sb:" + sb);//public StringBuffer delete(int start,int end):删除从指定位置开始指定位置结束的内容,并返回本身//包含上边界,不包含下边界。//需求:我要删除“world”这个字符串sb.delete(4, 9);System.out.println("sb:" + sb);}} 运行结果:
3、替换功能
public StringBuffer replace(int start,int end,String str):从start开始到end用str替换
public class StringDemo {public static void main(String[] args) {StringBuffer sb = new StringBuffer();// 添加数据sb.append("hello").append("world").append("java");System.out.println("sb:" + sb);// public StringBuffer replace(int start,int end,String// str):从start开始到end用str替换// 需求:把“world”替换为“节日快乐”sb.replace(5, 10, "节日快乐");System.out.println("sb:" + sb);}} 运行结果:长江后浪催前浪,一辈新人换旧人。