我们所知道的字符串String的拼接有: “+” 、 concat () 方式实现,或者使用StringBuilder、StringBuffer类实现。这几种方式性能的从低到高进行排序,则顺序为:“+” < concat () < StringBuffer < StringBuilder 。使用”+”性能是最差的,应该避免使用!!!
StringBuilder的性能是最高的,大家可能在StringBuffer和StringBuilder之间不知道怎么取舍要用哪个?两者的区别是:StringBuffer是线程安全的,而StringBuilder不是。在高并发的应用中,应该考虑使用StringBuffer! !
**
大家查看JDK源码就可以知道,StringBuffer和StringBuilder这两个类实现的接口都是一样的,只不过 StringBuffer的很多方法都加上了synchronized**关键字修饰。
concat
1 | string.concat() |
StringBuffer和StringBuilder
1 | //StringBuffer |