java常用类二:StringBuffer

java常用类二:StringBuffer

1.认识StringBuffer
  在String类的介绍中,有一条特性是String的内容一旦声明则不可改变,如果要改变,则改变的肯定是String的引用地址,那么如果一个字符串需要经常改变,则就必须使用StringBuffer类。我们知道在Sring类中可以通过“+”进行字符串的拼接,但在StringBuffer中却只能使用append方法进行字符串的拼接。下面在介绍方法时候,再展示。


2.StringBuffer常用方法

方法一:字符串连接操作
  在程序中可以使用append()方法可以进行字符串的连接,而且此方法返回一个StringBuffer类的实例,这样就可以使用代码链的形式一直调用append()方法。
方法演示示例:

public class StringBufferDemo01{
	public static void mains(String args[]){
		StringBuffer buf = new StringBuffer();  //声明StringBuffer对象
		buf.append("Hello");  //向StringBuffer中添加内容
		buf.append("World").append("!!!");  //可以连续调用append()方法
		buf.append("\n");  //添加一个转移字符
		buf.append("数字=").append(1).append("\n");  //添加数字
		buf.append("字符=").append('C').append("\n");  //添加字符
		buf.append("布尔=").append("true");  //添加布尔值
		System.out.println(buf);  //直接输出对象,调用toString
	}
}

范例:验证StringBuffer的内容是可以更改的

public class StringBufferDemo02{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer();  //声明StringBuffer对象
		buf.append("Hello");
		fun(buf);  // 传递StringBuffer的内容
		System.out.println(buf);
	}
	public static void fun(StringBuffer s){  //接受StringBuffer引用
		s.append("HZJT").append("HZIT");  //修改StringBuffer的内容
	}
}

方法二:在任意位置处为StringBuffer添加内容
  可以直接使用insert()方法在指定的位置上为StringBuffer添加内容。
方法演示示例:

public class StringBufferDemo03{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer();  //声明StringBuffer对象
		buf.append("World!!");
		buf.insert(0, "Hello");
		System.out.println(buf);
		buf.insert(buf.length(),"HZIT");
		System.out.println(buf);
	}
}

方法三:字符串反转操作
  在StringBuffer中专门提供了字符串反转的操作方法,作为字符串反转就是指将一个是“Hello”的字符串转为“olleH”。

public class StringBufferDemo04{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer();
		buf.append("World");  //添加内容
		buf.insert(0,"Hello");  //在第一个内容之前添加内容
		String str = buf.reverse().toString();  //将内容反转后变为String类型
		System.out.println(str);  //输出:dlroWolleH
	}
}

方法四:替换指定范围的内容
  在StringBuffer中也存在replace()方法,使用此方法可以对指定范围的内容进行替换,而在String中如果要进行替换,则使用的是replaceAll()方法,这一点需要注意一下。

public class StringBufferDemo05{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer();  //声明StringBuffer对象
		buf.append("Hello").append("World!!");
		buf.replace(6,11,"hzit");  //将world的内容替换
		System.out.println("内容替换之后的结果:"+buf);  //输出内容:内容替换之后的结果:HelloWhzit!
	}
}

方法五:字符串截取
  通过substring()方法可以直接从StringBuffer的指定范围中截取处内容。

public class StringBufferDemo06{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer();  //声明StringBuffer对象
		buf.append("Hello").append("World!!");  //向StringBuffer添加内容
		buf.replace(6,11,"zhangsan");  //将world的内容替换
		System.out.println(buf);  //输出:HelloWzhangsan!
		String str = buf.substring(6,15);  //截取指定范围的内容
		System.out.println("内容替换之后的结果:"+ str);  //输出内容:zhangsan!	
	}
}

方法六:删除指定方位的字符串
  因为StringBuffer本身的内容是可以更改的,所以也可以通过delete()方法删除指定范围的内容。

public class StringBufferDemo07{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer();  //声明StringBuffer对象
		buf.append("Hello").append("World!!");  //向StringBuffer添加内容
		buf.replace(6,11,"zhangsan");  //将world的内容替换
		System.out.println(buf);  //输出:HelloWzhangsan!
		String str = buf.delete(6,15).toString();  //截取指定范围的内容
		System.out.println("删除之后的结果:"+ str);  //输出内容:zhangsan!	
	}
}

方法七:查找指定的内容是否存在
  通过indexOf()方法可以查找指定内容,如果查找到了,则可以返回内容的位置,如果没有查找到则返回-1。

public class StringBufferDemo08{
	public static void main(String args[]){
		StringBuffer buf = new StringBuffer();  //声明StringBuffer对象
		buf.append("Hello").append("World!!");  //向StringBuffer添加内容
		if(buf.indexOf("Hello")==-1){
			System.out.println("没有查找到指定内容");
		}else{
			System.out.println("可以查找到指定的内容");
		}
	}
}

上面就是StringBuffer的基本用法,每个方法的代码都可以自己试一试,比较浅显,如有错误望指正。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值