Java字符串拼接之String、StringBuffer和StringBuilder的性能
Java字符串拼接之String、StringBuffer和StringBuilder的性能 作者:谢景,撰写:2019-4-16 在c#中,字符串拼接是利用+号运算符重载实现的,但是在Java中虽然+号运算符也能实现字符串拼接,但是性能差。 下面介绍一下关于字符的相关的类。 String 类对象不可变,一旦修改 String的值就是隐形的重建了一个新的对象,释 放了原 String对象 例如:String str=str+"a"; 相当于 先声明一个新的String:String str1=new String(str+"a"); 然后再将新的String赋值给旧的str:str=str1; StringBuffer和StringBuilder类是可以通过append()、insert()、reverse()…等方法 来修改值。创建的对象是可变 StringBuffer:线程安全的; StringBuilder:线程非安全的 字符串连接 String 的 + 比 StringBuffer(StringBuilder) 的 Append() 性能差了很多 三者在执行速度方面的比较:StringBuilder > StringBuffer > String 下面通过代码实践来验证一下上面的结论: public static void ddd(){ //----------------