
学完此次课程,我能做什么?
通过本次课程学习,我们可以使用更高效的StringBuilder来操作字符串。
学习此次课程,需要多久?
10分钟
课程内容
为什么要使用构建字符串 StringBuilder?
上一节课我们学习的字符串连接效率比较低,每次连接字符串时都会构建一个新的String对象,既浪费时间又浪费空间,但是使用StringBuilder可以提高效率。
入门程序

运行结果:
ab
可以使用toString()方法,得到一个String对象。
int length()
返回构建起或者缓冲器中的单元数量

运行结果:2
void setCharAt(int i,char c)
将第i个位置的单元设置为字符c

运行结果:

注意:第一个参数是字符,而不是字符串,java中单引号代表字符,双引号代表字符串,我在练习过程中第二个参数写成了"x",导致编译不通过,这点还是要注意,和php,python不太一样。
StringBuilder insert(int i, String str)
在i的位置开始插入一个字符串并返回StringBuilder对象。


StringBuilder delete(int start, int end)
删除start到end-1之前的代码单元

输出结果:

小结
几个常用的函数都比较类似,项目中能想到某个函数的名字,查看相应的API即可。
课堂思考
思考题:为什么StringBuilder效率比String高?
接下来学习什么?
接下来,我们会学习Java中的输入输出
关注公众号,回复 java基础 下载全部代码+PDF版电子书

网友评论