详细的StringBuilder (可变字符序列)介绍

stringBuilder

概述
  • 一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。

  • 可变原因,底层的字符数组可以改变指向的地址

  • 主要功能:append、insert
    都是追加或者中间插入

  • 构造方法:

  • stringBuilder();
    构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。

  • capacity()
    返回当前字符串缓冲区容量。
    每个字符串缓冲区都有一定的容量。只要字符串缓冲区所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区数组。如果内部缓冲区溢出,则此容量自动增大

  • stringBuilder append(任意数据类型)
    接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串缓冲区的末尾中

  • stringBuilder insert(位置,任意数据类型)
    insert 方法则在指定的位置添加字符
    (指定的位置最大不能超过当前缓冲区中字符的个数)

  • deleteChaeAt(int index)
    三处指定索引的字符

  • delete(int start,int end)
    删除指定索引的此序列(start ~ end 不包含end)的子字符串中的字符。

  • replace(int start, int end, String str)

使用给定 String 中的字符替换此序列的子字符串中的字符。

  • StringBuffer reverse()
    将此字符序列用其反转形式取代。
和StringBuffer的关系

都是可变的字符序列,都是字符串缓冲区,底层都是字符数组,有相同的方法。

  • 不同点:
    线程安全:
    stringBuffer 是线程安全的(同步)
    StringBuilder 是线程不安全的类型(不同步)主要使用的
    StringBuilderde效率高
String 和StringBulider作为方法的参数

String 作为方法的实际参数,调用后不会修改原值:
在这里插入图片描述
重申一遍:Java中只有传值。
Java中一切都是值传递。你可以通过方法来改变被引用的对象中的属性值,却无法改变这个对象引用本身.也就是当一个对象的实例被创建的时候,like this: Apple a = new Apple(); a 存的就是这个对象实例的地址。而这个地址,即使是a的值作为参数传到某个函数中的时候,a本身也是不会改变的。也就是说传递的是引用的拷贝,即不是引用本身,更不是对象。

  • 在这里插入图片描述
  • 在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值