定义
String和StringBuffer他们都可以存储和操作字符串,即包含多个字符和字符串数据。
区别
String类是字符串常量,是不可更改的常量。
而String Buffer是字符串变量,他的对象时可以扩充和修改的。
String Buffer的构造方法
1.public StringBuffer():无参构造方法,其初始容量为16个字符
2.public StringBuffer(int capacity):指定容量的字符串缓冲区对象
3.public StringBuffer(String str):指定字符串内容的字符串缓冲区对象
String的初始化方法
String a = "abc";
StringBuffer的初始化
StringBuffer str = new StringBuffer("abc");
添加任意字符到字符串中,并返回字符串本身
public StringBuffer append(String str)
StringBuffer a2 = new StringBuffer("abc");
a2.append("c");
System.out.println("末尾添加后的值" + a2);
运行结果:
**在指定位置把任意类型的数据插入到字符串里面,并返回字符串本身
public StringBuffer insert (int offset,String str)
**
StringBuffer a = new StringBuffer("1234");
a.insert(1, "a");
System.out.println(a);
运行结果:
**删除指定位置的字符,并返回本身
public StringBuffer deleteCharAt (int index)
**
//删除指定字符
StringBuffer b1 = new StringBuffer("abc");
b1.deleteCharAt(0);
System.out.println(b1);
运行结果:
删除指定字符串
public StringBuffer delete(int start, int end)
//删除指定字符串(左闭右开)
StringBuffer b2 = new StringBuffer("abcdefg");
b2.delete(0, 2);
System.out.println("删除后的" + b2);
运行结果:
**替换指定字符串
public StringBuffer replace(int start,int end,String str)
**
//替换指定的字符串
StringBuffer c = new StringBuffer("abcdefg");
c.replace(1, 3, "123");
System.out.println("替换后的值" + c);
运行结果:
**字符串反转
public String substring(int start)
**
//字符串反转
StringBuffer d = new StringBuffer("abcdefg");
d = d.reverse();
System.out.println("字符串反转的结果" + d);
运行结果:
**截取从指定位置截取到任意位置,注意这里返回值类型不再是String Buffer,而是String类型
public String substring(int start,int end)
**
//从指定位置截取到任意位置(左闭右开)
StringBuffer f = new StringBuffer("0123456");
String p = f.substring(1,4);
System.out.println(p);
运行结果:
**字符串返回值的长度,实际值
public int length()
**
//字符串返回值的长度,实际值
StringBuffer q = new StringBuffer("0123456");
System.out.println(q.length());
运行结果:
关于String Buffer还有好多方法,可以去API查看