【学习总结】java高级特性之String、StringBuffer、StringBuilder

1.String:java中字符串值属于String类,java编译器把字符串值作为String对象;但String对象一旦创建就不能改变,如果需要进行大量的字符串操作,应该使用StringBuffer/StringBuilder类或者字符数组,最终可以被转换成String对象。

2.StringBuffer:线程安全的可变字符序列;一个类似于String字符串缓冲区,通过某些方法调用可以改变字符串的长度和内容;每个字符串都有缓冲区,只要字符串缓冲取包含的字符序列没有超出此容量。就无序分配新的内部缓冲区数组;如果缓冲区溢出,则此容量自动增大。缺点:操作速度比较慢。

常用方法代码:

//弱点:线程是安全的,但底层操作速度比较慢
		StringBuffer buffer = new StringBuffer("abcde");
		System.out.println(buffer);
		//拼接
		buffer.append("+edbca");
		System.out.println(buffer);
		//截取字符串
		System.out.println(buffer.substring(1, 4));
		//取索引位置字符
		System.out.println(buffer.charAt(1));
3.StringBuilder:JDK5以后,为StringBuffer补充了一个单个线程使用的等价类,即,StringBuilder,通常应该优先使用StringBuilder类,因为它支持所有相同的操作,但由于它不执行同步,所以速度快。

常用方法代码:

//StringBuilder对象
		StringBuilder builder = new StringBuilder("aaaaa");
		
		//拼接字符串
		System.out.println(builder.append("+bbbbb"));
		
		//截取字符串
		System.out.println(builder.substring(4,8));
		
		//取字符索引位置字符
		System.out.println(builder.charAt(8));
		
		//字符串长度
		System.out.println(builder.length());
		
		//返回当前容量
		System.out.println(builder.capacity());
		
		//移除指定范围的字符串,包头不包尾
		System.out.println(builder.delete(0, 6));
		
		//移除指定索引处的字符串
		System.out.println(builder.deleteCharAt(0));
		
		//将指定字符插入
		System.out.println(builder.insert(1, "abc"));
		
		//替换字符串
		System.out.println(builder.replace(1, 4, "def"));
		
		//转换成字符串
		System.out.println(builder.toString());
		
		//返回此字符串的指定子字符串中第一个出现的索引(indexOf/lastIndexOf)
		System.out.println(builder.indexOf("e"));
具体介绍详见JDK API文档。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值