Java实现简单的模板渲染
本文实例为大家分享了Java实现简单的模板渲染,供大家参考,具体内容如下
代码
packagecom.hdwang; importjava.util.HashMap; importjava.util.Map; /** *Createdbyhdwangon2017/12/19. */ publicclassMyTemplate{ publicstaticvoidmain(String[]args){ Stringtemplate="${name},${sex},${birthYear}年出生,${graduateYear}年毕业于${university}。"; Mapparams=newHashMap<>(); params.put("name","张三"); params.put("sex","男"); params.put("birthYear","1990"); params.put("graduateYear","2012"); params.put("university","清华大学"); longstart=System.currentTimeMillis(); for(inti=0;i<10000;i++){ Stringresult=render(template,params); if(i==9999){ System.out.println(result); } } longend=System.currentTimeMillis(); System.out.println("costtime:"+(end-start)+"ms"); start=System.currentTimeMillis(); for(inti=0;i<10000;i++){ Stringresult=render2(template,params); if(i==9999){ System.out.println(result); } } end=System.currentTimeMillis(); System.out.println("costtime:"+(end-start)+"ms"); } publicstaticStringrender(Stringtemplate,Map params){ //使用builder拼接,比string相加提高不少效率 StringBuilderbuilder=newStringBuilder(); //定义控制变量 boolean$Begin=false; booleanparamBegin=false; //booleanparamEnd=false; StringBuilderkey=null; //循环匹配 for(inti=0;i params){ for(Map.Entry entry:params.entrySet()){ Stringkey=entry.getKey(); Stringvalue=entry.getValue(); template=template.replace("${"+key+"}",value); } returntemplate; } }
运行结果
张三,男,1990年出生,2012年毕业于清华大学。
costtime:65ms
张三,男,1990年出生,2012年毕业于清华大学。
costtime:161ms
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。