Java之String、StringBuffer、StringBuilder的区别分析
2012-11-07 09:37
951 查看
public class testssb {
/** Creates a new instance of testssb */
final static int ttime = 10000;// 测试循环次数
public testssb() {
}
public void test(String s){
long begin = System.currentTimeMillis();
for(int i=0;i<ttime;i++){
s += "add";
}
long over = System.currentTimeMillis();
System.out.println(" 操作 "+s.getClass().getName()+" 类型使用的时间为: " + (over - begin) + " 毫秒 " );
}
public void test(StringBuffer s){
long begin = System.currentTimeMillis();
for(int i=0;i<ttime;i++){
s.append("add");
}
long over = System.currentTimeMillis();
System.out.println(" 操作 "+s.getClass().getName()+" 类型使用的时间为: " + (over - begin) + " 毫秒 " );
}
public void test(StringBuilder s){
long begin = System.currentTimeMillis();
for(int i=0;i<ttime;i++){
s.append("add");
}
long over = System.currentTimeMillis();
System.out.println(" 操作 "+s.getClass().getName()+" 类型使用的时间为: " + (over - begin) + " 毫秒 " );
}
// 对 String 直接进行字符串拼接的测试
public void test2(){
String s2 = "abadf";
long begin = System.currentTimeMillis();
for(int i=0;i<ttime;i++){
String s = s2 + s2 + s2 ;
}
long over = System.currentTimeMillis();
System.out.println(" 操作字符串对象引用相加类型使用的时间为: " + (over - begin) + " 毫秒 " );
}
public void test3(){
long begin = System.currentTimeMillis();
for(int i=0;i<ttime;i++){
String s = "abadf" + "abadf" + "abadf" ;
}
long over = System.currentTimeMillis();
System.out.println(" 操作字符串相加使用的时间为: "+ (over - begin) + " 毫秒 " );
}
public static void main(String[] args){
String s1 ="abc";
StringBuffer sb1 = new StringBuffer("abc");
StringBuilder sb2 = new StringBuilder("abc");
testssb t = new testssb();
t.test(s1);
t.test(sb1);
t.test(sb2);
t.test2();
t.test3();
}
}
相关文章推荐
- java中String、StringBuffer、StringBuilder的区别
- 理解java String,深入解析StringBuffer和StringBuilder的区别
- java基础知识回顾之---java StringBuffer,Stringbuilder与String的区别
- 从Java源码角度彻底理解String,StringBuilder和StringBuffer的区别
- java基础String,StringBuffer,StringBuilder的区别
- Java:String、StringBuffer和StringBuilder的区别
- [校招准备]之:java——String,StringBuffer,StringBuilder区别
- Java中String、StringBuilder、StringBuffer的区别
- java中String、StringBuffer、StringBuilder的区别
- 【Java基础】String,StringBuffer,StringBuilder之间的区别
- Java基础---浅析String,StringBuilder,StringBuffer的区别
- JAVA中String与StringBuffer以及StringBuilder的区别
- java中String、StringBuffer、StringBuilder的区别
- JAVA中String与StringBuffer 、StringBuilder的区别
- Java中String ,StringBuffer和StringBuilder的区别
- Java中String,StringBuilder和StringBuffer的区别
- 【java之字符串常量】String,StringBuffer与StringBuilder的区别
- JAVA中String与StringBuffer,StringBuilder的区别
- Java中的String,StringBuilder,StringBuffer的区别
- 在JAVA中,String,Stringbuffer,StringBuilder 的区别