面试题之-----String,StringBuffer,StringBuilder的区别

String :字符串常量,值不能改变。

                      

String   s="abc";
s=s+"def";
System.out.println(s);

输出结果为: abcdef

s=s+"def";

这不是改变变量s的值,而是JVM自动创建了一个值为“abcdef”的新对象,并由s指向它,前一个对象(String s="abc")由自动回收机制来管理。

StringBuilder :是字符串变量,线程不安全,但速度快,适合于处理单线程下操作大量数据。

StringBuffer:是字符串变量,线程安全的,速度比StringBuilder慢,适合用于处理多线程操作大量数据时使用。

String  :字符串常量,适合处理少量数据。

posted @ 2017-09-24 11:17  ky09  阅读(126)  评论(0编辑  收藏  举报