【Java】:StringBuilder类

177 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第6天,点击查看活动详情

1、写在前面

大家好,我是翼同学。今天文章的内容是:

  • StringBuilder

2、内容

2.1、StringBuilder类的简介

我们知道,在Java中可以使用加号+拼接String字符串。但有时我们在循环中使用拼接语句,每次循环都会创建新的字符串对象,拼接后再丢弃旧字符串。此时效率就不够高,并可能会浪费内存。

而在jdk1.5以后,Java提供了stringbuilder类,其主要用于提高字符串的操作效率,如拼接、修改等。简单来说,StringBuilder类就是可变的字符串类,我们可以将其看作一个对象容器。StringBuilder类对象可以预分配缓冲区,在拼接新字符串时不用创建新的临时对象。

StringBuilder类的主要操作是appendinsert方法,它们被重载以便接受任何类型的数据。 每个都有效地将给定的数据转换为字符串,然后将该字符串的字符追加或插入到字符串构建器中。 

2.2、StringBuilder 构造器

构造器含义
StringBuilder()创建一个空白的可变的字符串对象,初始容量为16个字符
StringBuilder(int capacity)创建一个空白的可变的字符串对象,并且具有capacity参数指定的初始容量
StringBuilder(String str)创建一个初始化为指定字符串str内容的可变的字符串对象
StringBuilder(CharSequence seq)创建一个可变的字符串对象,其中包含与指定的 CharSequence相同的字符。

2.3、StringBuilder 常用方法

append()

public StringBuilder append()方法用于将指定参数以字符串的形式追加到字符串序列中。

参数可以是任意数据。

delete ()

public StringBuilder delete (int start, int end)方法用于删除主串中指定的子串。该子串由参数决定,其中start表示起始索引,end表示结束索引。当然,如果start==end,则不进行任何更改。

另外,如果出现以下情况:

  • start < 0
  • start > end
  • start > length()

则会抛出异常:StringIndexOutOfBoundsException

deleteCharAt()

public StringBuilder deleteCharAt​(int index)方法用于删除指定位置的字符。参数index是要删除的字符的索引。

另外,如果出现以下情况:

  • index < 0
  • index >= length()

则会抛出异常:StringIndexOutOfBoundsException

replace()

public StringBuilder replace​(int start, int end, String str)方法用于将指定字符串str替换掉主串中的某段子串。主串中被替换的子串由参数startend决定。

另外,如果出现以下情况:

  • start < 0
  • start > end
  • start > length()

则会抛出异常:StringIndexOutOfBoundsException

insert()

public StringBuilder insert (int offset, Object obj)方法用于将参数obj的字符串形式插入到主串中。其中offset参数表示偏移量,其值的范围在[0, length].

reverse()

public StringBuilder reverse()方法用于将主串中的字符反向替换,也就是反转字符串。

length()

public int length()方法用于返回字符串的长度,也就是当前对象表示的字符串长度。

charAt()

public char charAt (int index)方法用于返回指定索引处的字符。参数index的取值范围为[0, length).

小结

常用方法描述
toString()StringBuilder对象转换为String
append()追加任意数据到主串中
delete()删除字符串中的某段子串
deleteCharAt()删除指定位置的字符
replace()使用指定的字符串替换该对象中的某段子字符串
insert()将指定参数的字符串表现形式插入到序列中
reverse()将对象的内容反转
length()返回对象内容的长度
charAt()返回指定索引处的此序列中的char

3、写在最后

好了,文章的内容就到这里,感谢观看。