zoukankan      html  css  js  c++  java
  • 关于String,StringBuffer,StringBuilder的区别

    String 字符串常量
    StringBuffer 字符串变量(线程安全)
    StringBuilder 字符串变量(非线程安全)
    效率:StringBuilder>StringBuffer>String
              注:如果是单线程序的话,优先考虑StringBuilder,如果是多线程的话,则考虑StringBuffer
    案例如下:
     1 package com.seven.exercise.StringTest;
     2 
     3      import org.junit.Test;
     4 
     5      public class StringBufferWithStringBuilder {
     6 
     7      public void testString() {
     8         long start = System.currentTimeMillis();
     9         String str = null;
    10         for (int i = 0; i < 20000; i++) {
    11             str = str + i + ",";
    12         }
    13         System.out.println(System.currentTimeMillis() - start);
    14     }
    15 
    16     public void testStringBuffer() {
    17         long start = System.currentTimeMillis();
    18 
    19         StringBuffer sbuf = new StringBuffer();
    20         for (int i = 0; i < 20000; i++) {
    21             sbuf.append(i + ",");
    22         }
    23         System.out.println(System.currentTimeMillis() - start);
    24     }
    25 
    26     public void testStringBulider() {
    27         long start = System.currentTimeMillis();
    28 
    29         StringBuilder builder = new StringBuilder();
    30         for (int i = 0; i < 20000; i++) {
    31             builder.append(i + ",");
    32         }
    33         System.out.println(System.currentTimeMillis() - start);
    34     }
    35 
    36     @Test
    37     public void test(){
    38         testString();
    39         testStringBuffer();
    40         testStringBulider();
    41     }
    42     
    43 }

    运行结果如下:

    1217
    9
    6
  • 相关阅读:
    09_ssh服务器的安装和使用
    08_linux下的文件压缩和解压
    38-自定义异常类
    37-手动抛出异常对象
    DataGrip 2020.1 安装与激活
    36-异常的处理
    35-异常
    node+ajax实战案例(1)
    ajax前后端交互原理(7)
    ajax前后端交互原理(5)
  • 原文地址:https://www.cnblogs.com/jbml-154312/p/7285615.html
Copyright © 2011-2022 走看看