在Java之中,字符串使用String类来进行表示,但是String类所表示的字符串有一个最大的问题:“字符串常量一旦声明则不可改变,而字符串对象可以改变,但是改变的是其内存地址的指向”。所以String类不适合于被频繁修改的字符串操作上,所以在这种情况下,往往可以使用StringBuffer类,即:StringBuffer类方便用户进行内容的修改。在String类之中使用“+”作为数据库的连接操作,而在StringBuffer类之中使用append()方法(方法定义:public StringBuffer append(数据类型变量))进行数据的连接。
StringBuffer基本使用 public class TestDemo { public static void main(String[] args) throws Exception { // String类可以直接赋值实例化,但是StringBuffer类不行 StringBuffer buf = new StringBuffer(); // 实例化StringBuffer类对象 buf.append("Hello ").append("M ").append("!!"); change(buf); // 引用传递 System.out.println(buf); } public static void change(StringBuffer temp) { // 接收StringBuffer引用 temp.append("\n").append("ww"); // 修改内容 } }程序执行结果:
Hello M !!
ww
取得CharSequence接口实例化对象
public classTestDemo {
publicstatic void main(String[] args) throws Exception {
CharSequenceseq = "ww"; // 向上转型
System.out.println(seq); // String类覆写的toString()
}
}
StringBuffer类常用操作方法
No.
方法
类型
描述
1
public StringBuffer append(数据类型 变量)
普通
数据追加操作
2
public StringBuffer reverse()
普通
字符串反转操作
3
public StringBuffer insert(int offset, 数据类型 变量)
普通
在指定位置追加内容
4
public StringBuffer delete(int start, int end)
普通
删除指定索引范围的内容
字符串反转
public class TestDemo { public static void main(String[] args) throws Exception { StringBuffer buf = new StringBuffer("www.yootk.com"); System.out.println(buf.reverse()); } }在指定的索引位置增加数据
public class TestDemo { public static void main(String[] args) throws Exception { StringBuffer buf = new StringBuffer("ww"); // 首先在最前面追加一个字符串,而后在指定位置追加字符串 buf.insert(0, "e.").insert(9, "m"); System.out.println(buf); } }删除部分数据
public class TestDemo { public static void main(String[] args) throws Exception { StringBuffer buf = new StringBuffer("Hello World "); System.out.println(buf.delete(5, 11)); } }