浅谈java的String、StringBuffer与StringBuilder

1、String

String是java中的的一个类,隶属于java.lang包中,用来创建字符串变量。但由于String被final关键字修饰,因此String对象一旦创建之后便不能被修改。这就导致每次对String对象的操作都会生成新的String对象。这就会造成效率的低下以及对内存空间的过多占用,但它的特点是线程安全。

2、StringBuffer、StringBuilder

StringBuffer和StringBuilder都继承自AbstractStringBuilder;它们对对象的操作都是针对对象本身,而不是生成一个新的对象。因此效率较高。同时由于StringBuffer对每个方法都加了Synchronized同步锁,因此是线程安全的。由于String并没有加锁,因此线程不安全但是速度较StringBuffer快一些。
总结:
1、操作少量字符串——String
2、单线程情况下操作大量字符串——StringBuilder
3、多线程情况下操作大量字符串——StringBuffer

猜你喜欢

转载自blog.csdn.net/qq_40096391/article/details/114296269
今日推荐