java常用类——StringBuffer

本节目标:

    1.掌握StringBuffer与String的区别

    2.掌握StringBuffer的常用方法

    3.掌握StringBuffer的实际应用

StringBuffer类

StringBuffer是使用缓冲区的,本身也操作字符串,但是与String不同,String类的内容一旦声明之后便不能修改,改变的只是内存地址的引用,而StringBuffer中的内容是可以修改的。

StringBuffer是一个具体的类,不能像String直接赋值进行实例化,必须通过构造方法完成。

StringBuffer常用方法


StringBuffer的实际应用

1.字符串连接

当一个字符串的内容经常被改变的时候,要使用StringBuffer。String通过"+"连接字符串,而StringBuffer连接操作使用append()方法。

public class StringBufferDemo1 {
public static void main(String[] args) {
StringBuffer buf = new StringBuffer();
buf.append("Hello ").append("world");
buf.append('\n');
buf.append(true);
System.out.println(buf);
}
}

StringBuffer的内容是可以修改的:

public class StringBufferDemo1 {
public static void main(String[] args) {
StringBuffer buf = new StringBuffer();
buf.append("Hello ").append("world");
buf.append('\n');
buf.append(true);
fun(buf);
System.out.println(buf);
}
public static void fun(StringBuffer buf){
buf.append("改变内容!");
}
}

2.insert任意位置插入

public class StringBufferDemo1 {
public static void main(String[] args) {
StringBuffer buf = new StringBuffer();
buf.append("Hello ").append("world");
buf.insert(0, "<<<");
buf.insert(buf.length(), ">>>");
System.out.println(buf);
}

}

运行结果:

<<<Hello world>>>

3.字符串反转

public class StringBufferDemo1 {
public static void main(String[] args) {
StringBuffer buf = new StringBuffer();
buf.append("Hello ").append("world");
buf.insert(0, "<<<");
buf.insert(buf.length(), ">>>");
buf.reverse();
System.out.println(buf);
}

}

运行结果:

>>>dlrow olleH<<<

4.替换指定位置内容

public class StringBufferDemo1 {
public static void main(String[] args) {
StringBuffer buf = new StringBuffer();
buf.append("Hello ").append("world");
buf.insert(0, "<<<");
buf.insert(buf.length(), ">>>");
buf.replace(9, 14, "China");
System.out.println(buf);
}

}

运行结果:

<<<Hello China>>>

5.字符串截取

public class StringBufferDemo1 {
public static void main(String[] args) {
StringBuffer buf = new StringBuffer();
buf.append("Hello ").append("world");
buf.insert(0, "<<<");
buf.insert(buf.length(), ">>>");
String str = buf.substring(9, 14);
System.out.println(str);
}

}

运行结果:

world

6.删除

public class StringBufferDemo1 {
public static void main(String[] args) {
StringBuffer buf = new StringBuffer();
buf.append("Hello ").append("world");
buf.insert(0, "<<<");
buf.insert(buf.length(), ">>>");
buf.delete(9, 14);
System.out.println(buf);
}

}

运行结果:

<<<Hello >>>

总结:

对于频繁修改字符串的内容,如果使用String,修改的是内存引用,性能低,采用StringBuffer会更好,修改的是内容,性能高。















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值