JavaSE_17th_常用类——StringBuffer类常用方法

一、StringBuffer类
1)java.lang.StringBuffer代表可变的字符序列。
2)StringBuffer是String类的增强版,可直接对字符串进行更改而不重新分配新的内存空间。
3)StringBuffer类常见构造方法:
见6)

4)StringBuffer常用方法(1)
重载方法public StringBuffer append(...)可以为该StringBuffer对象添加字符序列,返回添加后的该StringBuffer对象引用。
见6)

5)StringBuffer常用方法(2)
a、重载方法public StringBuffer insert(...)可以为该StringBuffer对象在指定位置插入字符序列,返回修改后的该StringBuffer对象引用。
b、方法public StringBuffer delete(int start, int end)可以删除从start开始到end-1为止的一段字符序列,返回修改后的该StringBuffer对象引用。
c、和String类含义类似的方法:indexOf()、substring()、length();
d、方法public StringBuffer reverse()用于将字符序列逆序,返回修改后的该
StringBuffer对象引用。

6)StringBuffer类举例(1)

package com.hpe.stringbuffer;

public class TestStringBuffer1 {
	public static void main(String[] args) {
		String s = "Microsoft";
		char[] a = { 'a', 'b', 'c' };
		//使用StringBuffer的构造方法造出String对象的StringBuffer副本
		StringBuffer sb1 = new StringBuffer(s);
		//append方法返回StringBuffer对象,可以如下连续添加字符或字符串甚至是数字等
		sb1.append('/').append("IBM").append('/').append("Sun");
		System.out.println(sb1);
		StringBuffer sb2 = new StringBuffer("数字");
		for (int i = 0; i < 10; i++) {
			sb2.append(i);
		}
		System.out.println(sb2);
		//将sb2的第sb2.length()-3到sb2.length()-1这3个
		//字符截掉,并且在第0个位置插入"abc"
		sb2.delete(sb2.length()-3, sb2.length()).insert(0, a);
		System.out.println(sb2);
		//将sb2逆序
		System.out.println(sb2.reverse());
	}
}
运行结果:
Microsoft/IBM/Sun
数字0123456789
abc数字0123456
6543210字数cba
总结:见代码注释

7)StringBuffer类举例(2)
StringBuffer类和String类之间equals的关系
package com.hpe.stringbuffer;

public class TestStringBuffer2 {
	public static void main(String[] args) {
		String str1 = "abc";
		String str2 = new String("abc");
		//虽然str1指向常量池,str2指向堆,但String类比较的
		//是两个String对象的字符序列是否相同,所以equals
		System.out.println(str1.equals(str2));//true
		
		StringBuffer sb1 = new StringBuffer(str1);
		//虽然二者字符序列一样,但是类型不同,肯定不equals
		System.out.println(str1.equals(sb1));//false
		
		//sb1返回具有相同字符序列的String对象
		//不管是哪个类型返回的,只要返回的是String类型、
		//字符序列相同就equals
		String str3 = sb1.toString();
		System.out.println(str1.equals(str3));//true
			
		StringBuffer sb2 = new StringBuffer("abc");
		StringBuffer sb3 = new StringBuffer("abc");

		System.out.println(sb2.equals(sb3));//false
	}
}
运行结果注释在打印语句之后。





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值