public class StringJoinPerformance {
public static void main(String[] args) {
int loop = 10000000;
String name = "illusion";
String sex = "男";
int age = 18;
String birthday = "2015-01-01";
String profile = "由于这个原因,ClearQuest测试管理的管理人员会创建一个轮廓并将它分配到最终的用户,这样他们就安装单个的客户端。";
System.out.println("方式1");
long startTime = System.currentTimeMillis();
for(int i=0;i<loop;i++){
String temp = "<user><name>"+ name +"</name><sex>"+ sex +"</sex><age>"+ (age+i) +"</age><birthday>"+ birthday +"<birthday><profile>"+ profile +"</profile></user>";
}
long endTime = System.currentTimeMillis();
System.out.println("cost:" + (endTime-startTime));
System.out.println("方式2");
startTime = System.currentTimeMillis();
for(int i=0;i<loop;i++){
String temp = String.format("<user><name>%s</name><sex>%s</sex><age>%s</age><birthday>%s<birthday><profile>%s</profile></user>", name, sex, (age+i), birthday, profile);
}
endTime = System.currentTimeMillis();
System.out.println("cost:" + (endTime-startTime));
System.out.println("方式3");
startTime = System.currentTimeMillis();
for(int i=0;i<loop;i++){
StringBuffer sb = new StringBuffer();
String temp = sb.append("<user><name>").append(name).append("</name><sex>").append(sex).append("</sex><age>").append(age+i).append("</age><birthday>").append(birthday).append("<birthday><profile>").append(profile).append("</profile></user>").toString();
}
endTime = System.currentTimeMillis();
System.out.println("cost:" + (endTime-startTime));
}
}