1.字符串缓冲区
1.1.字符串缓冲区介绍
1.1.1.频繁修改字符串的问题
需求:将数组中的内容转换为一个字符串输出;
问题:这个程序中有没有什么可以改进的地方?
问题:在这段程序中,在循环里面没执行一次循环,都要对字符串str修改两次,因为字符串是常量值,不能改,所以每修改一次,都会新创建一个字符串对象;
而这个需求中我们只需要最后一个字符串对象,所以循环中创建的大量对象都是无用的,都是内存浪费;
使用字符串缓冲区可以解决这种问题;
结论:
当需要对字符串频繁的修改时,就应该使用字符串缓冲区,避免因为大量创建字符串对象而造成的内存浪费;
1.1.2.缓冲区的概念
缓冲区:区:空间的意思;缓冲区,就是保存一些临时数据的空间;
字符串缓冲区,就是用来保存临时的字符数据的空间;
一般在需要大量的操作字符串的时候都要使用它;
1.1.3.Java的字符串缓冲区类
字符串缓冲区也是一个事物,这种事物使用两个类表示:
StringBuffer:是线程安全的,效率相对比较低;如果在多线程环境下,对线程安全有要求,就要使用StringBuffer;
StringBuilder:是线程不安全的,效率相对比较高;如果在单线程环境下,或者对线程安全没有要求,就可以使用StringBuilder;
这两个类提供的功能一模一样;使用方法也一模一样;使用场景不同;
1.2.StringBuffer的使用
领取专属 10元无门槛券
私享最新 技术干货