java中StringBuffer浅谈

都是以前自己写的demo 主要是自己查看源码跟与老师讲课后的分析。
希望对大家有所帮助。
/**
 * 在实际开发当中,我们经常会使用字符串的链接操作,如果使用String来操作
 *则使用“+”号完成字符串的连接操作
 *使用String链接字符串,代码性能会非常低,因为String的内容不可改变 不断在创建char数组
 *
 *使用StringBuffer类主要在+的时候 16个以内,都在一个char数组内,而String每+一次便新建一个char数组
 * 
 * 方法名称                               描述
 *public StringBuffer()              构造一个空的StringBuffer类
 *public StringBuffer(String str) 将指定的String变成StringBuffer的内容
 *public StringBuffer(CharSequence seq) 接收CharSequence接口的实例
 *public StringBuffer append(数据类型 b) 提供了很多的append方法,用于字符串的链接
 *public StringBuffer delete(int start,int end) 删除指定位置的内容
 *public int indexOf(String str)   字符串的查询功能
 *public StringBufer insert(int offset,数据类型 b)  在指定位置上增加一个内容
 *public StringBufer replace(int start,int end, str) 替换 单线程优先考虑
 *
 *
 *StringBuffer 的兄弟类 StringBuilder 是StringBuffer一个简易替换,单线程
 * */
package com.vince.stringBuffer;

public class StringBufferDemo {
	
	public static void main(String[] args) {
		
		//默认字符数组的大小是16
		//扩展方式:(原来的长度+1)*2
		//如果我们可以确定整个长度,可以调用带初始容量的构造方法
		StringBuffer sb = new StringBuffer();
		
		sb.append("此刻打盹,你将做梦;");
		sb.append("此刻学习,你将圆梦。");
		sb.append("现在淌的哈达子,将成为未来的眼泪!").append("伤不起");
		sb.delete(30, 32);
		
		System.out.println(sb.toString());
		int index = sb.indexOf("你");
		System.out.println("你第一次出现的位置"+index);
		//插入方法
		sb.insert(31,"明天的");
		System.out.println(sb);
		
		//替换方法 *public StringBuffer replace(int start,int end, str) 替换
		sb.replace(0, 2, "现在");
		System.out.println(sb);
		
		//反转
	/*	sb.reverse();
		System.out.println(sb);
	*/	
		//字符串截取
		//public 
		String s1 = sb.substring(20);
		System.out.println(s1);
		
		String s2 = sb.substring(20, 27);
		System.out.println(s2);
		
		// StringBulider   synchronized关键字表示同步
		//单线程访问时候使用,效率更高,线程不安全
		//StringBuffer:多线程访问时使用,效率较低,线程安全

		
	}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值