String StringBuffer与StringBuilder

Posted zhou-xian-sheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String StringBuffer与StringBuilder相关的知识,希望对你有一定的参考价值。

String类(不可变字符序列):

  String 字符串不可改,方法里加了private/final

  String类实现的是CharSequence接口

  String类的一些常用方法:

    indexOf():返回指定字符的索引

    charAt():返回指定索引处的字符

    replace():字符串替换

    trim():去除字符串两端空白

    split():分割字符串,返回一个分割后的字符串数组

    length():返回字符串长度

    toLowerCase():将字符串转成小写字母 

    toUpperCase():将字符串转成大写字符

    substring():截取字符串

    equals():字符串比较

====================================================================

StringBuffer和StringBuilder类(可变字符序列):

  StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。

  StringBuffer 和 StringBuilder 类都是继承AbstractStringBuilder类

  AbstractStringBuilder 类实现了Appendable,CharSequence两个接口

  StringBuffer类:线程安全,效率低;

  StringBuilder类:线程不安全,效率高;

====================================================================

区别:

  字符修改上的区别;

  String可以空赋值,StringBuffer和StringBuilder不行。 String str = null;

使用情况:

  如果要操作少量的数据用 String

  多线程操作字符串缓冲区下操作大量数据 StringBuffer

  单线程操作字符串缓冲区下操作大量数据 StringBuilder

 

以上是关于String StringBuffer与StringBuilder的主要内容,如果未能解决你的问题,请参考以下文章

String类菜鸟级教程(字符串常量池及不可变,StringBuffer 和 StringBuilder)

String类菜鸟级教程(字符串常量池及不可变,StringBuffer 和 StringBuilder)

String类菜鸟级教程(字符串常量池及不可变,StringBuffer 和 StringBuilder)

String类菜鸟级教程(字符串常量池及不可变,StringBuffer 和 StringBuilder)

String StringBuffer StringBuilder

Java String, StringBuilder, StringBuffer