猿教程 Logo

StringBuffer与StringBuilder的区别

阿里云服务器,每月低至7.8元,项目演示即建站必备,比腾讯云更便宜,并且不需学生认证,从此链接购买有效:去购买

StringBuffer和StringBuilder之间有许多区别。 StringBuffer和StringBuilder之间的区别列表如下:

No.StringBufferStringBuilder
1)StringBuffer是同步的,即线程安全。 这意味着两个线程不能同时调用StringBuffer的方法。StringBuilder是非同步的,即不是线程安全的。 这意味着两个线程可以同时调用StringBuilder的方法。
2)StringBuffer的效率比StringBuilder低。StringBuilder比StringBuffer更有效。

StringBuffer示例

相关实例:

public class BufferTest{
    public static void main(String[] args){
        StringBuffer buffer=new StringBuffer("hello");
        buffer.append("java");
        System.out.println(buffer);
    }
}
hellojava

StringBuilder示例

相关实例:

public class BuilderTest{
    public static void main(String[] args){
        StringBuilder builder=new StringBuilder("hello");
        builder.append("java");
        System.out.println(builder);
    }
}
hellojava

StringBuffer和StringBuilder的性能测试

让我们看看代码来检查StringBuffer和StringBuilder类的性能。

相关实例:

public class ConcatTest{
    public static void main(String[] args){
        long startTime = System.currentTimeMillis();
        StringBuffer sb = new StringBuffer("Java");
        for (int i=0; i<10000; i++){
            sb.append("Tpoint");
        }
        System.out.println("Time taken by StringBuffer: " + (System.currentTimeMillis() - startTime) + "ms");
        startTime = System.currentTimeMillis();
        StringBuilder sb2 = new StringBuilder("Java");
        for (int i=0; i<10000; i++){
            sb2.append("Tpoint");
        }
        System.out.println("Time taken by StringBuilder: " + (System.currentTimeMillis() - startTime) + "ms");
    }
}
Time taken by StringBuffer: 16ms
Time taken by StringBuilder: 0ms
阿里云服务器,每月低至7.8元,项目演示即建站必备,比腾讯云更便宜,并且不需学生认证,从此链接购买有效: 去购买


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Java/difference-between-stringbuffer-and-stringbuilder.html