java字符串操作,选择String,StringBuilder, StringBuffer?

java字符串操作,选择String,StringBuilder, StringBuffer?

在这里插入图片描述

1.看如何操作:

常量的声明,少量的变量运算,选String

频繁的字符串运算,如拼接,修改,删除等,选StringBuilder或StringBuffer

2.StringBuilder和StringBuffer如何选?

涉及线程安全,选StringBuffer

不涉及线程安全,选StringBuilder

(StringBuilder运行效率高,一般很少遇到多线程去操作字符串,所以一般都是用StringBuilder)

3.为什么这样选?

String:String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了

当两个字符串拼接时,会产生一个新的字符串去接收拼接的结果,但前两个字符串并没有销毁,当拼接操作变多以后,产生大量的String 临时类,消耗内存,增加对垃圾回收占用CPU的时间

StingBuilder和StringBuffer:StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

4.StringBuilder常用方法

4.1 创建并增加
 		// 创建空的StringBuilder, 空间为16字节
        StringBuilder stringBuilder = new StringBuilder();
        // 将参数追加到stringBuilder,数据在附加操作发生之前转换为字符串
        stringBuilder.append("hello world");
4.2 字符串长度和所占空间
        // stringBuilder所占空间
        System.out.println(stringBuilder.capacity());
        // stringBuilder中字符串长度
        System.out.println(stringBuilder.length());
4.3 删除
        StringBuilder delete(int start, int end)
        StringBuilder deleteCharAt(int index)
4.4 插入
		//offset表示数据要插入之前的索引
		StringBuilder insert(int offset, String s)
4.5 替换
		StringBuilder replace(int start, int end, String s)
		void setCharAt(int index, char c)
4.6 反转
		StringBuilder reverse()
4.7 返回包含构建器中字符序列的字符串
		String toString()

5.参考

StringBuffer 和 StringBuilder 类:https://www.runoob.com/java/java-stringbuffer.html

StringBuilder 操作:https://zq99299.github.io/java-tutorial/java/data/buffers.html#stringbuilder-%E6%93%8D%E4%BD%9C

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值