字符串拼接效率

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));		
		
	}
}

 

原文地址:https://www.cnblogs.com/angelshelter/p/5237057.html