首页 > 代码库 > String、StringBuffer、StringBuilder比较
String、StringBuffer、StringBuilder比较
String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
执行速度:StringBuilder > StringBuffer > String
例子:
1 public class StringCompare { 2 final static int time = 50000; //循环次数 3 4 public StringCompare(){ 5 6 } 7 public void test(String string){ 8 long begin = System.currentTimeMillis(); 9 for(int i=0; i<time; i++){10 string += "jd";11 }12 long over = System.currentTimeMillis();13 System.out.println("操作"+string.getClass().getName()+"类型使用的时间为:"+(over-begin)+"毫秒");14 }15 public void test(StringBuffer stringBuffer){16 long begin = System.currentTimeMillis();17 for(int i=0; i<time; i++){18 stringBuffer.append("jd");19 }20 long over = System.currentTimeMillis();21 System.out.println("操作"+stringBuffer.getClass().getName()+"类型使用的时间为:"+(over-begin)+"毫秒");22 }23 public void test(StringBuilder stringBuilder){24 long begin = System.currentTimeMillis();25 for(int i=0; i<time; i++){26 stringBuilder.append("jd");27 }28 long over = System.currentTimeMillis();29 System.out.println("操作"+stringBuilder.getClass().getName()+"类型使用的时间为:"+(over-begin)+"毫秒");30 }31 public static void main(String[] args){32 String string = "abcd";33 StringBuffer stringBuffer = new StringBuffer("abcd");34 StringBuilder stringBuilder = new StringBuilder("abcd");35 StringCompare stringCompare = new StringCompare();36 stringCompare.test(string);37 stringCompare.test(stringBuffer);38 stringCompare.test(stringBuilder);39 }40 }
执行结果:
1 操作java.lang.String类型使用的时间为:1604毫秒2 操作java.lang.StringBuffer类型使用的时间为:7毫秒3 操作java.lang.StringBuilder类型使用的时间为:3毫秒
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。