美文网首页
StringBuilder

StringBuilder

作者: 哈迪斯Java | 来源:发表于2021-11-14 17:43 被阅读0次

    基本介绍
    StringBuilderO1.java
    1)一个可变的字符序列。此类提供一个与 StringBuffer 兼容的API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候。如果可能,建议优先采用该类,因为在大多数实现中,它StringBuffer 要快[后面测】。
    2)在 StringBuilder上的主要操作是append和 insert方法,可重载这些方法,以接受任意类型的数据。
    ·
    String、StringBuffer 和StringBuilder的比较

    1. StringBuilder和 StringBuffer非常类似,均代表可变的字符序列,而且方法
      也一样
    2. String:不可变字符序列,效率低,但是复用率高。
    3. StringBuffer:可变字符序列、效率较高(增删)、线程安全4)StringBuilder:可变字符序列、效率最高、线程不安全
      ·
    4. String使用注意说明:
      string s="a";//创建了一个字符串
      S += "b";//实际上原来的"a"字符串对象已经丢弃了,现在又产生了一个字符串s+"b”(也就是"ab")。如果多次执行这些改变串内容的操作,会导致大量副本字符串对象存留在内存中,降低效率。如果这样的操作放到循环中,会极大影响程序的性能=>结论:如果我们对String做大量修改,不要使用String

    String text = "";long startTime = OL;long endTime = OL;
    StringBuffer buffer = new StringBuffer("");StringBuilder builder = new StringBuilder("");startlime = System.currentTimeMillis0;
    for(int i = O;i<20000;i++){
    buffer.append(String.valueOf0);}
    endTime = System.currentTimeMillis0;
    System.out.println("StringBuffer的执行时间: "+(endTime-startTime));startTime = System.currentTimeMillis(;
    for(int i = 0;i<20000;i++){
    builder.append(String.valueOf0);)endTime = System.currentTimeMillis(;
    System.out.printIn("StringBuilder的执行时间:"+(endTime-startTime));startTime = System.currentTimeMillis0;
    for(int i = O;i<20000;i++){
    text = text + i计}
    endTime = System.currentTimeMillis0;
    System.out.println("String的执行时间:"+(endTime-startTime));

    相关文章

      网友评论

          本文标题:StringBuilder

          本文链接:https://www.haomeiwen.com/subject/khdxtrtx.html