一、String
1、字符串是不可变的,所以每次的拼接,修改,调用都会产生一个新的字符串,会造成大量的空间浪费。所以java标准库引入了更高效的 StringBuilder
和StringBuffer
二、StringBuilder
StringBuilder
是一个可变对象,给它拼接字符时,会预分配缓冲区,不会指向新的对象。StringBuilder类中的方法没有使用synchronized关键字,所以它的方法都是线程的,不安全的,但性能好。
1.字符串的拼接:append()
;直接传入要拼接的内容
2、字符串的替换:replace()
;传入的参数:(替换的开始下标,结束下标,“要修改的内容”)
3、删除指定位置的字符串或字符:delete()
和deleteChatAt()
,前者传入的参数为开始下标位置和结束下标位置,后者传入的参数为要删除的字符位置
4、在指定下表位置插入字符串:insert()
该方法被重载了,除了指定下标,后者是指定的字符类型
5、逆序旋转:reverse()
;
三、StringBuffer
StringBuffer
类中的方法使用了 synchronized
关键字,方法安全,但性能不好,会影响执行性能。基本语法同StringBuilder
一致。
StringBuilder
和StringBuffer
的接口相同,现在没有必要使用StringBuffer
,大多使用StringBuilder