字符串拼接效率

Posted angelshelter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串拼接效率相关的知识,希望对你有一定的参考价值。

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

 

技术分享 

 

以上是关于字符串拼接效率的主要内容,如果未能解决你的问题,请参考以下文章

字符串拼接效率

字符串拼接的四种方式详解,代码测试

字符串拼接的四种方式详解,代码测试

StringBuider 在什么条件下使用效率更高?

StringBuider 在什么条件下如何使用效率更高?

测试一下StringBuffer和StringBuilder及字面常量拼接三种字符串的效率