String类、StringBuilder类、StringBuffer类的相同点和不同点

  • Post author:
  • Post category:其他

相同点:它们都表示一个字符串类。

不同点:

String类是被final修饰的,长度不可变,值不可变,String类不能被继承。比如:

                                                String a=“123”;

                                                a=a+”456″;

当拼接字符串的时候,String类的对象的值并没有改变,而是产生了一个新的对象交给了变量a。

上面的代码,一共创建了3个String类的对象,分别是,“123”,“456”,“123456”。

StringBuilder类是可变的,值可变,长度可变,可以自动扩容。但是它的所有的方法都没有加同步,所以它是线程不安全的,所以它的效率高。

StringBuffer类是可变的,值可变,长度可变,可以自动扩容。但是它的所有的方法都加了同步,所以它是线程安全的,所以它的效率不高。


版权声明:本文为qq_39872643原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。