开发工具与关键技术: MyEclipse 10、Java语法
作者:邓婵
撰写时间:2019年 07月23日
Java平台提供了两种类型的字符串:String和StringBuffer/StringBuilder,它们可以储存和操作字符串。StringBuffer/StringBuilder类表示的字符串对象可变的,可以直接进行修改。这样也就大大地提高了频繁增加字符串的效率。StringBuilder是Java 5中引入的,线程不安全,它和StringBuffer的方法完全相同,区别在于它是在单线程环境下使用的,因为它的所有方面都没有被synchronized修饰,因此它的效率也比StringBuffer要高。
StringBuffer/StringBuilder类特点:
1:可以对字符串内容进行修改。
2:它是一个容器。
3:是可变长度的。
4:缓冲区中可以存储任意类型的数据。
例1:通过验证String类与StringBuffer类,比较出两者的操作效率,相关代码以及输出结果如图下所示:
说明:通过这一实例可以看出这两种执行的时间差距很大,如果你是在程序中频繁地附加字符串或者对字符串进行修改的话,建议使用StringBuffer,因为StringBuffer类执行的时间远远小于String类的。
例2:通过验证String类与StringBuilder类,比较出两者的操作效率,相关代码以及输出结果如图下所示:
说明:其实通过以上例子可以看出StringBuilder执行的速度要快于StringBuffer的,而StringBuffer又比String的要快。StringBuilder/StringBuffer不用每次新建对象,效率比较高,所以我们一般采用StringBuilder/StringBuffer,如果是考虑速度问题的话还是建议StringBuilder。
StringBuffer和StringBuilder类是可以通过append()、insert()、delete()、reverse()…等方法来修改值。该类常用方法的相关代码及结果可参考图下所示: