String 和 StringBuffer
开发工具与关键技术:java
作者:彭浩达
撰写时间:2019年 5月 22日
String 类用于比较两个字符串,查找和抽取字符串中的字符或字串,进行字符串与其他类型之间的相互转换等。String 类对象的内容一旦被初始化就不能再进行改变。
StringBuffer类用于内容可以改变的字符串,可以将其他各种类型的数据增加、插入到字符串中,也可以转置字符串中原来的内容。通过StringBuffer生成了最终想要的字符串,就应该使用StringBuffer.toString()方法将其转换成String类,随后,就可以使用String类的各种方法操纵这个字符串。
StringBuffer通过append()、insert()、reverse()……等方法来修改值。
Java为字符串提供了特别的连接操作符(+),可以把其他各种类型的数据转换成字符串,并前后连接成新的字符串。连接符+的功能是通过StringBuffer类和它的append方法实现的
虽然结果一样,但字符串连接String的 + 比 StringBuffer的Append() 性能差了。
两者的再执行的速度方面的比较:StringBuffer > String,比StringBuffer执行更快的还有一个StringBuilder类,StringBuilder类比上面两者的执行的速度都快,但是它线程非安全的。
在实际开发中,如果需要频繁改变字符串的内容,就需要考虑用StringBuffer类实现,因为其他内容可以改变,所以执行性能会比String类更高。